@charset "UTF-8";
:root {
  font-family: "Inter var", sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  font-variation-settings: normal;
  --font-family: "Inter var", sans-serif;
  --font-feature-settings: "cv02", "cv03", "cv04", "cv11";
  --surface-a: #ffffff;
  --surface-b: #f9fafb;
  --surface-c: #f3f4f6;
  --surface-d: #e5e7eb;
  --surface-e: #ffffff;
  --surface-f: #ffffff;
  --text-color: #4b5563;
  --text-color-secondary: #6b7280;
  --primary-color: #36E19F;
  --primary-color-text: #ffffff;
  --surface-0: #ffffff;
  --surface-50: #f9fafb;
  --surface-100: #f3f4f6;
  --surface-200: #e5e7eb;
  --surface-300: #d1d5db;
  --surface-400: #9ca3af;
  --surface-500: #6b7280;
  --surface-600: #4b5563;
  --surface-700: #374151;
  --surface-800: #1f2937;
  --surface-900: #111827;
  --gray-50: #f9fafb;
  --gray-100: #f3f4f6;
  --gray-200: #e5e7eb;
  --gray-300: #d1d5db;
  --gray-400: #9ca3af;
  --gray-500: #6b7280;
  --gray-600: #4b5563;
  --gray-700: #374151;
  --gray-800: #1f2937;
  --gray-900: #111827;
  --content-padding: 1.25rem;
  --inline-spacing: 0.5rem;
  --border-radius: 6px;
  --surface-ground: #f9fafb;
  --surface-section: #ffffff;
  --surface-card: #ffffff;
  --surface-overlay: #ffffff;
  --surface-border: #dfe7ef;
  --surface-hover: #f6f9fc;
  --focus-ring: 0 0 0 0.2rem #70ffcb;
  --maskbg: rgba(0, 0, 0, 0.4);
  --highlight-bg: #ecfeff;
  --highlight-text-color: #0e7490;
  color-scheme: light;
}

@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
  font-named-instance: "Regular";
  src: url("fonts/Inter-roman.var.woff2?v=3.19") format("woff2");
}
@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: italic;
  font-named-instance: "Italic";
  src: url("fonts/Inter-italic.var.woff2?v=3.19") format("woff2");
}
:root {
  --blue-50: rgb(245.2, 248.75, 254.55);
  --blue-100: rgb(207.96, 225, 252.84);
  --blue-200: rgb(170.72, 201.25, 251.13);
  --blue-300: rgb(133.48, 177.5, 249.42);
  --blue-400: rgb(96.24, 153.75, 247.71);
  --blue-500: #3b82f6;
  --blue-600: rgb(50.15, 110.5, 209.1);
  --blue-700: rgb(41.3, 91, 172.2);
  --blue-800: rgb(32.45, 71.5, 135.3);
  --blue-900: rgb(23.6, 52, 98.4);
  --green-50: rgb(243.95, 252.1, 246.95);
  --green-100: rgb(201.96, 241.08, 216.36);
  --green-200: rgb(159.97, 230.06, 185.77);
  --green-300: rgb(117.98, 219.04, 155.18);
  --green-400: rgb(75.99, 208.02, 124.59);
  --green-500: #22c55e;
  --green-600: rgb(28.9, 167.45, 79.9);
  --green-700: rgb(23.8, 137.9, 65.8);
  --green-800: rgb(18.7, 108.35, 51.7);
  --green-900: rgb(13.6, 78.8, 37.6);
  --yellow-50: rgb(253.95, 251.2, 242.65);
  --yellow-100: rgb(249.96, 236.76, 195.72);
  --yellow-200: rgb(245.97, 222.32, 148.79);
  --yellow-300: rgb(241.98, 207.88, 101.86);
  --yellow-400: rgb(237.99, 193.44, 54.93);
  --yellow-500: #eab308;
  --yellow-600: rgb(198.9, 152.15, 6.8);
  --yellow-700: rgb(163.8, 125.3, 5.6);
  --yellow-800: rgb(128.7, 98.45, 4.4);
  --yellow-900: rgb(93.6, 71.6, 3.2);
  --cyan-50: rgb(242.55, 251.35, 252.85);
  --cyan-100: rgb(195.24, 237.48, 244.68);
  --cyan-200: rgb(147.93, 223.61, 236.51);
  --cyan-300: rgb(100.62, 209.74, 228.34);
  --cyan-400: rgb(53.31, 195.87, 220.17);
  --cyan-500: #06b6d4;
  --cyan-600: rgb(5.1, 154.7, 180.2);
  --cyan-700: rgb(4.2, 127.4, 148.4);
  --cyan-800: rgb(3.3, 100.1, 116.6);
  --cyan-900: rgb(2.4, 72.8, 84.8);
  --pink-50: rgb(254.05, 245.85, 249.9);
  --pink-100: rgb(250.44, 211.08, 230.52);
  --pink-200: rgb(246.83, 176.31, 211.14);
  --pink-300: rgb(243.22, 141.54, 191.76);
  --pink-400: rgb(239.61, 106.77, 172.38);
  --pink-500: #ec4899;
  --pink-600: rgb(200.6, 61.2, 130.05);
  --pink-700: rgb(165.2, 50.4, 107.1);
  --pink-800: rgb(129.8, 39.6, 84.15);
  --pink-900: rgb(94.4, 28.8, 61.2);
  --indigo-50: rgb(247.2, 247.35, 254.3);
  --indigo-100: rgb(217.56, 218.28, 251.64);
  --indigo-200: rgb(187.92, 189.21, 248.98);
  --indigo-300: rgb(158.28, 160.14, 246.32);
  --indigo-400: rgb(128.64, 131.07, 243.66);
  --indigo-500: #6366f1;
  --indigo-600: rgb(84.15, 86.7, 204.85);
  --indigo-700: rgb(69.3, 71.4, 168.7);
  --indigo-800: rgb(54.45, 56.1, 132.55);
  --indigo-900: rgb(39.6, 40.8, 96.4);
  --teal-50: rgb(243.25, 251.45, 250.55);
  --teal-100: rgb(198.6, 237.96, 233.64);
  --teal-200: rgb(153.95, 224.47, 216.73);
  --teal-300: rgb(109.3, 210.98, 199.82);
  --teal-400: rgb(64.65, 197.49, 182.91);
  --teal-500: #14b8a6;
  --teal-600: rgb(17, 156.4, 141.1);
  --teal-700: rgb(14, 128.8, 116.2);
  --teal-800: rgb(11, 101.2, 91.3);
  --teal-900: rgb(8, 73.6, 66.4);
  --orange-50: rgb(254.7, 248, 243.35);
  --orange-100: rgb(253.56, 221.4, 199.08);
  --orange-200: rgb(252.42, 194.8, 154.81);
  --orange-300: rgb(251.28, 168.2, 110.54);
  --orange-400: rgb(250.14, 141.6, 66.27);
  --orange-500: #f97316;
  --orange-600: rgb(211.65, 97.75, 18.7);
  --orange-700: rgb(174.3, 80.5, 15.4);
  --orange-800: rgb(136.95, 63.25, 12.1);
  --orange-900: rgb(99.6, 46, 8.8);
  --bluegray-50: rgb(247.25, 248.05, 249.2);
  --bluegray-100: rgb(217.8, 221.64, 227.16);
  --bluegray-200: rgb(188.35, 195.23, 205.12);
  --bluegray-300: rgb(158.9, 168.82, 183.08);
  --bluegray-400: rgb(129.45, 142.41, 161.04);
  --bluegray-500: #64748b;
  --bluegray-600: rgb(85, 98.6, 118.15);
  --bluegray-700: rgb(70, 81.2, 97.3);
  --bluegray-800: rgb(55, 63.8, 76.45);
  --bluegray-900: rgb(40, 46.4, 55.6);
  --purple-50: rgb(250.65, 246.5, 254.6);
  --purple-100: rgb(234.12, 214.2, 253.08);
  --purple-200: rgb(217.59, 181.9, 251.56);
  --purple-300: rgb(201.06, 149.6, 250.04);
  --purple-400: rgb(184.53, 117.3, 248.52);
  --purple-500: #a855f7;
  --purple-600: rgb(142.8, 72.25, 209.95);
  --purple-700: rgb(117.6, 59.5, 172.9);
  --purple-800: rgb(92.4, 46.75, 135.85);
  --purple-900: rgb(67.2, 34, 98.8);
  --red-50: rgb(255, 245.3, 244.75);
  --red-100: rgb(255, 208.44, 205.8);
  --red-200: rgb(255, 171.58, 166.85);
  --red-300: rgb(255, 134.72, 127.9);
  --red-400: rgb(255, 97.86, 88.95);
  --red-500: #ff3d32;
  --red-600: rgb(216.75, 51.85, 42.5);
  --red-700: rgb(178.5, 42.7, 35);
  --red-800: rgb(140.25, 33.55, 27.5);
  --red-900: rgb(102, 24.4, 20);
  --primary-50: rgb(244.95, 253.5, 250.2);
  --primary-100: rgb(206.76, 247.8, 231.96);
  --primary-200: rgb(168.57, 242.1, 213.72);
  --primary-300: rgb(130.38, 236.4, 195.48);
  --primary-400: rgb(92.19, 230.7, 177.24);
  --primary-500: #36e19f;
  --primary-600: rgb(45.9, 191.25, 135.15);
  --primary-700: rgb(37.8, 157.5, 111.3);
  --primary-800: rgb(29.7, 123.75, 87.45);
  --primary-900: rgb(21.6, 90, 63.6);
}

.p-editor-container .p-editor-toolbar {
  background: #f9fafb;
  border-top-right-radius: 6px;
  border-top-left-radius: 6px;
}
.p-editor-container .p-editor-toolbar.ql-snow {
  border: 1px solid #e5e7eb;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-stroke {
  stroke: #6b7280;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-fill {
  fill: #6b7280;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label {
  border: 0 none;
  color: #6b7280;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover {
  color: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-stroke {
  stroke: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker .ql-picker-label:hover .ql-fill {
  fill: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label {
  color: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-stroke {
  stroke: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-label .ql-fill {
  fill: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options {
  background: #ffffff;
  border: 0 none;
  box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  border-radius: 6px;
  padding: 0.75rem 0;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item {
  color: #4b5563;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded .ql-picker-options .ql-picker-item:hover {
  color: #4b5563;
  background: #f3f4f6;
}
.p-editor-container .p-editor-toolbar.ql-snow .ql-picker.ql-expanded:not(.ql-icon-picker) .ql-picker-item {
  padding: 0.75rem 1.25rem;
}
.p-editor-container .p-editor-content {
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
.p-editor-container .p-editor-content.ql-snow {
  border: 1px solid #e5e7eb;
}
.p-editor-container .p-editor-content .ql-editor {
  background: #ffffff;
  color: #4b5563;
  border-bottom-right-radius: 6px;
  border-bottom-left-radius: 6px;
}
.p-editor-container .ql-snow.ql-toolbar button:hover,
.p-editor-container .ql-snow.ql-toolbar button:focus {
  color: #4b5563;
}
.p-editor-container .ql-snow.ql-toolbar button:hover .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar button:focus .ql-stroke {
  stroke: #4b5563;
}
.p-editor-container .ql-snow.ql-toolbar button:hover .ql-fill,
.p-editor-container .ql-snow.ql-toolbar button:focus .ql-fill {
  fill: #4b5563;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected {
  color: #36E19F;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-stroke,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-stroke {
  stroke: #36E19F;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-fill,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-fill,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-fill {
  fill: #36E19F;
}
.p-editor-container .ql-snow.ql-toolbar button.ql-active .ql-picker-label,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-label.ql-active .ql-picker-label,
.p-editor-container .ql-snow.ql-toolbar .ql-picker-item.ql-selected .ql-picker-label {
  color: #36E19F;
}

@layer primereact {
  * {
    box-sizing: border-box;
  }
  .p-component {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    font-weight: normal;
  }
  .p-component-overlay {
    background-color: rgba(0, 0, 0, 0.4);
    transition-duration: 0.2s;
  }
  .p-disabled, .p-component:disabled {
    opacity: 0.6;
  }
  .p-error {
    color: #e24c4c;
  }
  .p-text-secondary {
    color: #6b7280;
  }
  .pi {
    font-size: 1rem;
  }
  .p-icon {
    width: 1rem;
    height: 1rem;
  }
  .p-link {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    border-radius: 6px;
  }
  .p-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-component-overlay-enter {
    animation: p-component-overlay-enter-animation 150ms forwards;
  }
  .p-component-overlay-leave {
    animation: p-component-overlay-leave-animation 150ms forwards;
  }
  @keyframes p-component-overlay-enter-animation {
    from {
      background-color: transparent;
    }
    to {
      background-color: var(--maskbg);
    }
  }
  @keyframes p-component-overlay-leave-animation {
    from {
      background-color: var(--maskbg);
    }
    to {
      background-color: transparent;
    }
  }
  .p-autocomplete .p-autocomplete-loader {
    right: 0.75rem;
  }
  .p-autocomplete.p-autocomplete-dd .p-autocomplete-loader {
    right: 3.75rem;
  }
  .p-autocomplete .p-autocomplete-multiple-container {
    padding: 0.375rem 0.75rem;
    gap: 0.5rem;
  }
  .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled):hover {
    border-color: #36E19F;
  }
  .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token {
    padding: 0.375rem 0;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-input-token input {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    color: #4b5563;
    padding: 0;
    margin: 0;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token {
    padding: 0.375rem 0.75rem;
    margin-right: 0.5rem;
    background: #ecfeff;
    color: #0e7490;
    border-radius: 6px;
  }
  .p-autocomplete .p-autocomplete-multiple-container .p-autocomplete-token .p-autocomplete-token-icon {
    margin-left: 0.5rem;
  }
  .p-autocomplete.p-invalid.p-component > .p-inputtext {
    border-color: #e24c4c;
  }
  .p-autocomplete-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-autocomplete-panel .p-autocomplete-items {
    padding: 0.75rem 0;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-autocomplete-panel .p-autocomplete-items .p-autocomplete-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: #374151;
    background: #ffffff;
    font-weight: 700;
  }
  .p-calendar.p-invalid.p-component > .p-inputtext {
    border-color: #e24c4c;
  }
  .p-calendar:not(.p-calendar-disabled).p-focus > .p-inputtext {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-datepicker {
    padding: 0.5rem;
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #36E19F;
    border-radius: 6px;
  }
  .p-datepicker:not(.p-datepicker-inline) {
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-datepicker:not(.p-datepicker-inline) .p-datepicker-header {
    background: #ffffff;
  }
  .p-datepicker .p-datepicker-header {
    padding: 0.5rem;
    color: #4b5563;
    background: #ffffff;
    font-weight: 600;
    margin: 0;
    border-bottom: 1px solid #e5e7eb;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-prev,
  .p-datepicker .p-datepicker-header .p-datepicker-next {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-prev:enabled:hover,
  .p-datepicker .p-datepicker-header .p-datepicker-next:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-prev:focus-visible,
  .p-datepicker .p-datepicker-header .p-datepicker-next:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title {
    line-height: 2rem;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year,
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
    color: #4b5563;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    font-weight: 600;
    padding: 0.5rem;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-year:enabled:hover,
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month:enabled:hover {
    color: #36E19F;
  }
  .p-datepicker .p-datepicker-header .p-datepicker-title .p-datepicker-month {
    margin-right: 0.5rem;
  }
  .p-datepicker table {
    font-size: 1rem;
    margin: 0.5rem 0;
  }
  .p-datepicker table th {
    padding: 0.5rem;
  }
  .p-datepicker table th > span {
    width: 2.5rem;
    height: 2.5rem;
  }
  .p-datepicker table td {
    padding: 0.5rem;
  }
  .p-datepicker table td > span {
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    transition: box-shadow 0.2s;
    border: 1px solid transparent;
  }
  .p-datepicker table td > span.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-datepicker table td > span:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-datepicker table td.p-datepicker-today > span {
    background: #d1d5db;
    color: #4b5563;
    border-color: transparent;
  }
  .p-datepicker table td.p-datepicker-today > span.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-datepicker .p-datepicker-buttonbar {
    padding: 1rem 0;
    border-top: 1px solid #e5e7eb;
  }
  .p-datepicker .p-datepicker-buttonbar .p-button {
    width: auto;
  }
  .p-datepicker .p-timepicker {
    border-top: 1px solid #e5e7eb;
    padding: 0.5rem;
  }
  .p-datepicker .p-timepicker button {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-datepicker .p-timepicker button:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-datepicker .p-timepicker button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-datepicker .p-timepicker button:last-child {
    margin-top: 0.2em;
  }
  .p-datepicker .p-timepicker span {
    font-size: 1.25rem;
  }
  .p-datepicker .p-timepicker > div {
    padding: 0 0.5rem;
  }
  .p-datepicker.p-datepicker-timeonly .p-timepicker {
    border-top: 0 none;
  }
  .p-datepicker .p-monthpicker {
    margin: 0.5rem 0;
  }
  .p-datepicker .p-monthpicker .p-monthpicker-month {
    padding: 0.5rem;
    transition: box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-datepicker .p-monthpicker .p-monthpicker-month.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-datepicker .p-yearpicker {
    margin: 0.5rem 0;
  }
  .p-datepicker .p-yearpicker .p-yearpicker-year {
    padding: 0.5rem;
    transition: box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-datepicker .p-yearpicker .p-yearpicker-year.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-datepicker.p-datepicker-multiple-month .p-datepicker-group {
    border-left: 1px solid #e5e7eb;
    padding-right: 0.5rem;
    padding-left: 0.5rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:first-child {
    padding-left: 0;
    border-left: 0 none;
  }
  .p-datepicker.p-datepicker-multiple-month .p-datepicker-group:last-child {
    padding-right: 0;
  }
  .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):hover {
    background: #f3f4f6;
  }
  .p-datepicker:not(.p-disabled) table td span:not(.p-highlight):not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):not(.p-highlight):hover {
    background: #f3f4f6;
  }
  .p-datepicker:not(.p-disabled) .p-monthpicker .p-monthpicker-month:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):not(.p-highlight):hover {
    background: #f3f4f6;
  }
  .p-datepicker:not(.p-disabled) .p-yearpicker .p-yearpicker-year:not(.p-disabled):focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  @media screen and (max-width: 769px) {
    .p-datepicker table th,
    .p-datepicker table td {
      padding: 0;
    }
  }
  .p-cascadeselect {
    background: #ffffff;
    border: 1px solid #36E19F;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
    outline-color: transparent;
  }
  .p-cascadeselect:not(.p-disabled):hover {
    border-color: #36E19F;
  }
  .p-cascadeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-cascadeselect.p-variant-filled {
    background-color: #f3f4f6;
  }
  .p-cascadeselect.p-variant-filled:enabled:hover {
    background-color: #f3f4f6;
  }
  .p-cascadeselect.p-variant-filled:enabled:focus {
    background-color: #ffffff;
  }
  .p-cascadeselect .p-cascadeselect-label {
    background: transparent;
    border: 0 none;
    padding: 0.75rem 0.75rem;
  }
  .p-cascadeselect .p-cascadeselect-label.p-placeholder {
    color: #6b7280;
  }
  .p-cascadeselect .p-cascadeselect-label:enabled:focus {
    outline: 0 none;
    box-shadow: none;
  }
  .p-cascadeselect .p-cascadeselect-trigger {
    background: transparent;
    color: #6b7280;
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-cascadeselect.p-invalid.p-component {
    border-color: #e24c4c;
  }
  .p-cascadeselect-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-cascadeselect-panel .p-cascadeselect-items {
    padding: 0.75rem 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item {
    margin: 0;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:first-child {
    margin-top: 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:last-child {
    margin-bottom: 0;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight.p-focus {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-item-content {
    padding: 0.75rem 1.25rem;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item .p-cascadeselect-group-icon {
    font-size: 0.875rem;
  }
  .p-checkbox {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-checkbox-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    cursor: pointer;
  }
  .p-checkbox-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-checkbox {
    width: 22px;
    height: 22px;
  }
  .p-checkbox .p-checkbox-input {
    border: 2px solid #d1d5db;
    border-radius: 6px;
  }
  .p-checkbox .p-checkbox-box {
    border: 2px solid #d1d5db;
    background: #ffffff;
    width: 22px;
    height: 22px;
    color: #4b5563;
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    outline-color: transparent;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon {
    transition-duration: 0.2s;
    color: #ffffff;
    font-size: 14px;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon {
    width: 14px;
    height: 14px;
  }
  .p-checkbox .p-checkbox-box {
    border: 2px solid #d1d5db;
    background: #ffffff;
    width: 22px;
    height: 22px;
    color: #4b5563;
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    outline-color: transparent;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon {
    transition-duration: 0.2s;
    color: #ffffff;
    font-size: 14px;
  }
  .p-checkbox .p-checkbox-box .p-checkbox-icon.p-icon {
    width: 14px;
    height: 14px;
  }
  .p-checkbox.p-highlight .p-checkbox-box {
    border-color: #36E19F;
    background: #36E19F;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    border-color: #36E19F;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    border-color: #0e7490;
    background: #0e7490;
    color: #ffffff;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:focus-visible) .p-checkbox-box {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-checkbox.p-invalid > .p-checkbox-box {
    border-color: #e24c4c;
  }
  .p-checkbox.p-variant-filled .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-checkbox.p-variant-filled.p-highlight .p-checkbox-box {
    background: #36E19F;
  }
  .p-checkbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-checkbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    background: #0e7490;
  }
  .p-input-filled .p-checkbox .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-checkbox.p-highlight .p-checkbox-box {
    background: #36E19F;
  }
  .p-input-filled .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    background: #0e7490;
  }
  .p-checkbox {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-checkbox-input {
    cursor: pointer;
  }
  .p-checkbox-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-tristatecheckbox.p-variant-filled .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-tristatecheckbox.p-variant-filled.p-highlight .p-checkbox-box {
    background: #36E19F;
  }
  .p-tristatecheckbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-tristatecheckbox.p-variant-filled:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    background: #0e7490;
  }
  .p-chips {
    display: inline-flex;
  }
  .p-chips-multiple-container {
    margin: 0;
    padding: 0;
    list-style-type: none;
    cursor: text;
    overflow: hidden;
    display: flex;
    align-items: center;
    flex-wrap: wrap;
  }
  .p-chips-token {
    cursor: default;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }
  .p-chips-input-token {
    flex: 1 1 auto;
    display: inline-flex;
  }
  .p-chips-token-icon {
    cursor: pointer;
  }
  .p-chips-input-token input {
    border: 0 none;
    outline: 0 none;
    background-color: transparent;
    margin: 0;
    padding: 0;
    box-shadow: none;
    border-radius: 0;
    width: 100%;
  }
  .p-fluid .p-chips {
    display: flex;
  }
  .p-chips:not(.p-disabled):hover .p-chips-multiple-container {
    border-color: #36E19F;
  }
  .p-chips:not(.p-disabled).p-focus .p-chips-multiple-container {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-chips .p-chips-multiple-container {
    padding: 0.375rem 0.75rem;
    outline-color: transparent;
  }
  .p-chips .p-chips-multiple-container .p-chips-token {
    padding: 0.375rem 0.75rem;
    margin-right: 0.5rem;
    background: #e5e7eb;
    color: #4b5563;
    border-radius: 16px;
  }
  .p-chips .p-chips-multiple-container .p-chips-token.p-focus {
    background: #e5e7eb;
    color: #4b5563;
  }
  .p-chips .p-chips-multiple-container .p-chips-token .p-chips-token-icon {
    margin-left: 0.5rem;
  }
  .p-chips .p-chips-multiple-container .p-chips-input-token {
    padding: 0.375rem 0;
  }
  .p-chips .p-chips-multiple-container .p-chips-input-token input {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    color: #4b5563;
    padding: 0;
    margin: 0;
  }
  .p-chips.p-invalid.p-component > .p-inputtext {
    border-color: #e24c4c;
  }
  .p-colorpicker-preview {
    width: 2rem;
    height: 2rem;
  }
  .p-colorpicker-panel {
    background: #323232;
    border: 1px solid #191919;
  }
  .p-colorpicker-panel .p-colorpicker-color-handle,
  .p-colorpicker-panel .p-colorpicker-hue-handle {
    border-color: #ffffff;
  }
  .p-colorpicker-overlay-panel {
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-dropdown {
    display: inline-flex;
    cursor: pointer;
    position: relative;
    user-select: none;
  }
  .p-dropdown-clear-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-dropdown-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .p-dropdown-label {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    flex: 1 1 auto;
    width: 1%;
    text-overflow: ellipsis;
    cursor: pointer;
  }
  .p-dropdown-label-empty {
    overflow: hidden;
    opacity: 0;
  }
  input.p-dropdown-label {
    cursor: default;
  }
  .p-dropdown .p-dropdown-panel {
    min-width: 100%;
  }
  .p-dropdown-panel {
    position: absolute;
    top: 0;
    left: 0;
  }
  .p-dropdown-items-wrapper {
    overflow: auto;
  }
  .p-dropdown-item {
    cursor: pointer;
    font-weight: normal;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
    display: flex;
    align-items: center;
  }
  .p-dropdown-item-group {
    cursor: auto;
  }
  .p-dropdown-items {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-dropdown-filter {
    width: 100%;
  }
  .p-dropdown-filter-container {
    position: relative;
  }
  .p-dropdown-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-fluid .p-dropdown {
    display: flex;
  }
  .p-fluid .p-dropdown .p-dropdown-label {
    width: 1%;
  }
  .p-dropdown {
    background: #ffffff;
    border: 1px solid #36E19F;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
    outline-color: transparent;
  }
  .p-dropdown:not(.p-disabled):hover {
    border-color: #36E19F;
  }
  .p-dropdown:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-dropdown.p-variant-filled {
    background: #f3f4f6;
  }
  .p-dropdown.p-variant-filled:not(.p-disabled):hover {
    background-color: #f3f4f6;
  }
  .p-dropdown.p-variant-filled:not(.p-disabled).p-focus {
    background-color: #ffffff;
  }
  .p-dropdown.p-variant-filled:not(.p-disabled).p-focus .p-inputtext {
    background-color: transparent;
  }
  .p-dropdown.p-dropdown-clearable .p-dropdown-label {
    padding-right: 1.75rem;
  }
  .p-dropdown .p-dropdown-label {
    background: transparent;
    border: 0 none;
  }
  .p-dropdown .p-dropdown-label.p-placeholder {
    color: #6b7280;
  }
  .p-dropdown .p-dropdown-label:focus, .p-dropdown .p-dropdown-label:enabled:focus {
    outline: 0 none;
    box-shadow: none;
  }
  .p-dropdown .p-dropdown-trigger {
    background: transparent;
    color: #6b7280;
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-dropdown .p-dropdown-clear-icon {
    color: #6b7280;
    right: 3rem;
  }
  .p-dropdown.p-invalid.p-component {
    border-color: #e24c4c;
  }
  .p-dropdown-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-dropdown-panel .p-dropdown-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    background: #f9fafb;
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter {
    padding-right: 1.75rem;
    margin-right: -1.75rem;
  }
  .p-dropdown-panel .p-dropdown-header .p-dropdown-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-dropdown-panel .p-dropdown-items {
    padding: 0.75rem 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item:first-child {
    margin-top: 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item:last-child {
    margin-bottom: 0;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item .p-dropdown-check-icon {
    position: relative;
    margin-left: -0.5rem;
    margin-right: 0.5rem;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: #374151;
    background: #ffffff;
    font-weight: 700;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-empty-message {
    padding: 0.75rem 1.25rem;
    color: #4b5563;
    background: transparent;
  }
  .p-inputgroup-addon {
    background: #f3f4f6;
    color: #6b7280;
    border-top: 1px solid #36E19F;
    border-left: 1px solid #36E19F;
    border-bottom: 1px solid #36E19F;
    padding: 0.75rem 0.75rem;
    min-width: 3rem;
  }
  .p-inputgroup-addon:last-child {
    border-right: 1px solid #36E19F;
  }
  .p-inputgroup > .p-component,
  .p-inputgroup > .p-inputwrapper > .p-inputtext,
  .p-inputgroup > .p-float-label > .p-component {
    border-radius: 0;
    margin: 0;
  }
  .p-inputgroup > .p-component + .p-inputgroup-addon,
  .p-inputgroup > .p-inputwrapper > .p-inputtext + .p-inputgroup-addon,
  .p-inputgroup > .p-float-label > .p-component + .p-inputgroup-addon {
    border-left: 0 none;
  }
  .p-inputgroup > .p-component:focus,
  .p-inputgroup > .p-inputwrapper > .p-inputtext:focus,
  .p-inputgroup > .p-float-label > .p-component:focus {
    z-index: 1;
  }
  .p-inputgroup > .p-component:focus ~ label,
  .p-inputgroup > .p-inputwrapper > .p-inputtext:focus ~ label,
  .p-inputgroup > .p-float-label > .p-component:focus ~ label {
    z-index: 1;
  }
  .p-inputgroup-addon:first-child,
  .p-inputgroup button:first-child,
  .p-inputgroup input:first-child,
  .p-inputgroup > .p-inputwrapper:first-child,
  .p-inputgroup > .p-inputwrapper:first-child > .p-inputtext {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-inputgroup .p-float-label:first-child input {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-inputgroup-addon:last-child,
  .p-inputgroup button:last-child,
  .p-inputgroup input:last-child,
  .p-inputgroup > .p-inputwrapper:last-child,
  .p-inputgroup > .p-inputwrapper:last-child > .p-inputtext {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-inputgroup .p-float-label:last-child input {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-fluid .p-inputgroup .p-button {
    width: auto;
  }
  .p-fluid .p-inputgroup .p-button.p-button-icon-only {
    width: 3rem;
  }
  .p-inputnumber.p-invalid.p-component > .p-inputtext {
    border-color: #e24c4c;
  }
  .p-inputswitch {
    position: relative;
    display: inline-block;
  }
  .p-inputswitch-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    cursor: pointer;
  }
  .p-inputswitch-slider {
    position: absolute;
    cursor: pointer;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    border: 1px solid transparent;
  }
  .p-inputswitch-slider:before {
    position: absolute;
    content: "";
    top: 50%;
  }
  .p-inputswitch {
    width: 3rem;
    height: 1.75rem;
  }
  .p-inputswitch .p-inputswitch-input {
    border-radius: 30px;
  }
  .p-inputswitch .p-inputswitch-slider {
    background: #d1d5db;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 30px;
    outline-color: transparent;
  }
  .p-inputswitch .p-inputswitch-slider:before {
    background: #ffffff;
    width: 1.25rem;
    height: 1.25rem;
    left: 0.25rem;
    margin-top: -0.625rem;
    border-radius: 50%;
    transition-duration: 0.2s;
  }
  .p-inputswitch.p-highlight .p-inputswitch-slider {
    background: #36E19F;
  }
  .p-inputswitch.p-highlight .p-inputswitch-slider:before {
    background: #ffffff;
    transform: translateX(1.25rem);
  }
  .p-inputswitch:not(.p-disabled):has(.p-inputswitch-input:hover) .p-inputswitch-slider {
    background: #b7bcc5;
  }
  .p-inputswitch:not(.p-disabled):has(.p-inputswitch-input:hover).p-highlight .p-inputswitch-slider {
    background: #28b88a;
  }
  .p-inputswitch:not(.p-disabled):has(.p-inputswitch-input:focus-visible) .p-inputswitch-slider {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-inputswitch.p-invalid > .p-inputswitch-slider {
    border-color: #e24c4c;
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  @keyframes ds-skeleton-loading {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }
  @keyframes ds-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  .p-inputtext {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
    color: #4b5563;
    background: #ffffff;
    padding: 0.75rem 0.75rem;
    border: 1px solid #36E19F;
    transition: border-color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1), background-color 150ms cubic-bezier(0, 0, 0.2, 1);
    appearance: none;
    border-radius: 6px;
    outline-color: transparent;
    box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
    font-weight: 400;
    backdrop-filter: blur(10px);
    position: relative;
  }
  .p-inputtext:enabled:hover {
    border-color: #36E19F;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
  }
  .p-inputtext:enabled:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
    box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transform: translateY(-1px);
    background: rgba(255, 255, 255, 0.95);
  }
  .p-inputtext.p-invalid.p-component {
    border-color: #e24c4c;
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  .p-inputtext.p-invalid.p-component:focus {
    box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.2), 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  .p-inputtext.p-variant-filled {
    background-color: #f3f4f6;
    border: 1px solid transparent;
    box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
  }
  .p-inputtext.p-variant-filled:enabled:hover {
    background-color: #f3f4f6;
    box-shadow: inset 0 4px 8px 0 rgba(0, 0, 0, 0.12);
  }
  .p-inputtext.p-variant-filled:enabled:focus {
    background-color: #ffffff;
    box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1), inset 0 4px 8px 0 rgba(0, 0, 0, 0.12);
    border-color: #36E19F;
  }
  .p-inputtext.p-inputtext-sm {
    font-size: 0.875rem;
    padding: 0.65625rem 0.65625rem;
  }
  .p-inputtext.p-inputtext-lg {
    font-size: 1.25rem;
    padding: 0.9375rem 0.9375rem;
  }
  .p-float-label > label {
    left: 0.75rem;
    color: #6b7280;
    transition-duration: 0.2s;
  }
  .p-float-label > .p-invalid + label {
    color: #e24c4c;
  }
  .p-icon-field-left > .p-inputtext {
    padding-left: 2.5rem;
  }
  .p-icon-field-left.p-float-label > label {
    left: 2.5rem;
  }
  .p-icon-field-right > .p-inputtext {
    padding-right: 2.5rem;
  }
  ::-webkit-input-placeholder {
    color: #6b7280;
  }
  :-moz-placeholder {
    color: #6b7280;
  }
  ::-moz-placeholder {
    color: #6b7280;
  }
  :-ms-input-placeholder {
    color: #6b7280;
  }
  .p-input-filled .p-inputtext {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-inputtext:enabled:hover {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-inputtext:enabled:focus {
    background-color: #ffffff;
  }
  .p-inputtext-sm .p-inputtext {
    font-size: 0.875rem;
    padding: 0.65625rem 0.65625rem;
  }
  .p-inputtext-lg .p-inputtext {
    font-size: 1.25rem;
    padding: 0.9375rem 0.9375rem;
  }
  .p-icon-field {
    position: relative;
  }
  .p-icon-field > .p-input-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-fluid .p-icon-field-left,
  .p-fluid .p-icon-field-right {
    width: 100%;
  }
  .p-icon-field-left > .p-input-icon:first-of-type {
    left: 0.75rem;
    color: #6b7280;
  }
  .p-icon-field-right > .p-input-icon:last-of-type {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-inputotp {
    display: flex;
    align-items: center;
    gap: 0.5rem;
  }
  .p-inputotp-input {
    text-align: center;
    width: 2.5rem;
  }
  .p-listbox-list-wrapper {
    overflow: auto;
  }
  .p-listbox-list {
    list-style-type: none;
    margin: 0;
    padding: 0;
  }
  .p-listbox-item {
    cursor: pointer;
    position: relative;
    overflow: hidden;
  }
  .p-listbox-item-group {
    cursor: auto;
  }
  .p-listbox-filter-container {
    position: relative;
  }
  .p-listbox-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-listbox-filter {
    width: 100%;
  }
  .p-listbox {
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #36E19F;
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    outline-color: transparent;
  }
  .p-listbox .p-listbox-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    background: #f9fafb;
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-listbox .p-listbox-header .p-listbox-filter {
    padding-right: 1.75rem;
  }
  .p-listbox .p-listbox-header .p-listbox-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-listbox .p-listbox-list {
    padding: 0.75rem 0;
    outline: 0 none;
  }
  .p-listbox .p-listbox-list .p-listbox-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-listbox .p-listbox-list .p-listbox-item:first-child {
    margin-top: 0;
  }
  .p-listbox .p-listbox-list .p-listbox-item:last-child {
    margin-bottom: 0;
  }
  .p-listbox .p-listbox-list .p-listbox-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-listbox .p-listbox-list .p-listbox-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: #374151;
    background: #ffffff;
    font-weight: 700;
  }
  .p-listbox .p-listbox-list .p-listbox-empty-message {
    padding: 0.75rem 1.25rem;
    color: #4b5563;
    background: transparent;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item.p-highlight.p-focus {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-listbox:not(.p-disabled) .p-listbox-item:not(.p-highlight):not(.p-disabled):hover.p-focus {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-listbox.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-listbox.p-invalid {
    border-color: #e24c4c;
  }
  .p-mention-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-mention-panel .p-mention-items {
    padding: 0.75rem 0;
  }
  .p-mention-panel .p-mention-items .p-mention-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-mention-panel .p-mention-items .p-mention-item:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-mention-panel .p-mention-items .p-mention-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-multiselect {
    display: inline-flex;
    cursor: pointer;
    user-select: none;
  }
  .p-multiselect-trigger {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
  }
  .p-multiselect-label-container {
    overflow: hidden;
    flex: 1 1 auto;
    cursor: pointer;
  }
  .p-multiselect-label {
    display: block;
    white-space: nowrap;
    cursor: pointer;
    overflow: hidden;
    text-overflow: ellipsis;
  }
  .p-multiselect-label-empty {
    overflow: hidden;
    visibility: hidden;
  }
  .p-multiselect-token {
    cursor: default;
    display: inline-flex;
    align-items: center;
    flex: 0 0 auto;
  }
  .p-multiselect-token-icon {
    cursor: pointer;
  }
  .p-multiselect .p-multiselect-panel {
    min-width: 100%;
  }
  .p-multiselect-items-wrapper {
    overflow: auto;
  }
  .p-multiselect-items {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-multiselect-item {
    cursor: pointer;
    display: flex;
    align-items: center;
    font-weight: normal;
    white-space: nowrap;
    position: relative;
    overflow: hidden;
  }
  .p-multiselect-item-group {
    cursor: auto;
  }
  .p-multiselect-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
  }
  .p-multiselect-filter-container {
    position: relative;
    flex: 1 1 auto;
  }
  .p-multiselect-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-multiselect-filter-container .p-inputtext {
    width: 100%;
  }
  .p-multiselect-close {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    overflow: hidden;
    position: relative;
    margin-left: auto;
  }
  .p-fluid .p-multiselect {
    display: flex;
  }
  .p-multiselect {
    background: #ffffff;
    border: 1px solid #36E19F;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
    outline-color: transparent;
  }
  .p-multiselect:not(.p-disabled):hover {
    border-color: #36E19F;
  }
  .p-multiselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-multiselect.p-variant-filled {
    background: #f3f4f6;
  }
  .p-multiselect.p-variant-filled:not(.p-disabled):hover {
    background-color: #f3f4f6;
  }
  .p-multiselect.p-variant-filled:not(.p-disabled).p-focus {
    background-color: #ffffff;
  }
  .p-multiselect .p-multiselect-label {
    padding: 0.75rem 0.75rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-multiselect .p-multiselect-label.p-placeholder {
    color: #6b7280;
  }
  .p-multiselect.p-multiselect-chip .p-multiselect-token {
    padding: 0.375rem 0.75rem;
    margin-right: 0.5rem;
    background: #e5e7eb;
    color: #4b5563;
    border-radius: 16px;
  }
  .p-multiselect.p-multiselect-chip .p-multiselect-token .p-multiselect-token-icon {
    margin-left: 0.5rem;
  }
  .p-multiselect .p-multiselect-trigger {
    background: transparent;
    color: #6b7280;
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-multiselect.p-invalid.p-component {
    border-color: #e24c4c;
  }
  .p-inputwrapper-filled.p-multiselect.p-multiselect-chip .p-multiselect-label {
    padding: 0.375rem 0.75rem;
  }
  .p-multiselect-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-multiselect-panel .p-multiselect-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    background: #f9fafb;
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-inputtext {
    padding-right: 1.75rem;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-filter-container .p-multiselect-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-multiselect-panel .p-multiselect-header .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-close {
    margin-left: 0.5rem;
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-close:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-multiselect-panel .p-multiselect-header .p-multiselect-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-multiselect-panel .p-multiselect-items {
    padding: 0.75rem 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item:first-child {
    margin-top: 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item:last-child {
    margin-bottom: 0;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item:not(.p-highlight):not(.p-disabled).p-focus {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item-group {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: #374151;
    background: #ffffff;
    font-weight: 700;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-empty-message {
    padding: 0.75rem 1.25rem;
    color: #4b5563;
    background: transparent;
  }
  .p-password.p-invalid.p-component > .p-inputtext {
    border-color: #e24c4c;
  }
  .p-password-panel {
    padding: 1.25rem;
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    border-radius: 6px;
  }
  .p-password-panel .p-password-meter {
    margin-bottom: 0.5rem;
    background: #e5e7eb;
  }
  .p-password-panel .p-password-meter .p-password-strength.weak {
    background: #ea5455;
  }
  .p-password-panel .p-password-meter .p-password-strength.medium {
    background: #ff9f42;
  }
  .p-password-panel .p-password-meter .p-password-strength.strong {
    background: #29c76f;
  }
  .p-radiobutton {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-radiobutton-input {
    cursor: pointer;
  }
  .p-radiobutton-box {
    display: flex;
    justify-content: center;
    align-items: center;
  }
  .p-radiobutton-icon {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0) scale(0.1);
    border-radius: 50%;
    visibility: hidden;
  }
  .p-radiobutton.p-highlight .p-radiobutton-icon {
    transform: translateZ(0) scale(1, 1);
    visibility: visible;
  }
  .p-radiobutton {
    width: 22px;
    height: 22px;
  }
  .p-radiobutton .p-radiobutton-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    border: 2px solid #d1d5db;
    border-radius: 50%;
  }
  .p-radiobutton .p-radiobutton-box {
    border: 2px solid #d1d5db;
    background: #ffffff;
    width: 22px;
    height: 22px;
    color: #4b5563;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    outline-color: transparent;
  }
  .p-radiobutton .p-radiobutton-box .p-radiobutton-icon {
    width: 12px;
    height: 12px;
    transition-duration: 0.2s;
    background-color: #ffffff;
  }
  .p-radiobutton.p-highlight .p-radiobutton-box {
    border-color: #36E19F;
    background: #36E19F;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    border-color: #36E19F;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    border-color: #0e7490;
    background: #0e7490;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box .p-radiobutton-icon {
    background-color: #ffffff;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:focus-visible) .p-radiobutton-box {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-radiobutton.p-invalid > .p-radiobutton-box {
    border-color: #e24c4c;
  }
  .p-radiobutton.p-variant-filled .p-radiobutton-box {
    background-color: #f3f4f6;
  }
  .p-radiobutton.p-variant-filled.p-highlight .p-radiobutton-box {
    background: #36E19F;
  }
  .p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    background-color: #f3f4f6;
  }
  .p-radiobutton.p-variant-filled:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    background: #0e7490;
  }
  .p-input-filled .p-radiobutton .p-radiobutton-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-radiobutton.p-highlight .p-radiobutton-box {
    background: #36E19F;
  }
  .p-input-filled .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    background: #0e7490;
  }
  .p-rating {
    position: relative;
    display: flex;
    align-items: center;
  }
  .p-rating-item {
    display: inline-flex;
    align-items: center;
    cursor: pointer;
  }
  .p-rating.p-readonly .p-rating-item {
    cursor: default;
  }
  .p-rating {
    gap: 0.5rem;
  }
  .p-rating .p-rating-item {
    outline-color: transparent;
    border-radius: 50%;
  }
  .p-rating .p-rating-item .p-rating-icon {
    color: #4b5563;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    font-size: 1.143rem;
  }
  .p-rating .p-rating-item .p-rating-icon.p-icon {
    width: 1.143rem;
    height: 1.143rem;
  }
  .p-rating .p-rating-item .p-rating-icon.p-rating-cancel {
    color: #ea5455;
  }
  .p-rating .p-rating-item.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-rating .p-rating-item.p-rating-item-active .p-rating-icon {
    color: #36E19F;
  }
  .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon {
    color: #36E19F;
  }
  .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon.p-rating-cancel {
    color: #e73d3e;
  }
  .p-selectbutton .p-button {
    background: #ffffff;
    border: 1px solid #d1d5db;
    color: #4b5563;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-selectbutton .p-button .p-button-icon-left,
  .p-selectbutton .p-button .p-button-icon-right {
    color: #6b7280;
  }
  .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #4b5563;
  }
  .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-left,
  .p-selectbutton .p-button:not(.p-disabled):not(.p-highlight):hover .p-button-icon-right {
    color: #374151;
  }
  .p-selectbutton .p-button.p-highlight {
    background: #36E19F;
    border-color: #36E19F;
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight .p-button-icon-left,
  .p-selectbutton .p-button.p-highlight .p-button-icon-right {
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight:hover {
    background: #28b88a;
    border-color: #28b88a;
    color: #ffffff;
  }
  .p-selectbutton .p-button.p-highlight:hover .p-button-icon-left,
  .p-selectbutton .p-button.p-highlight:hover .p-button-icon-right {
    color: #ffffff;
  }
  .p-selectbutton.p-invalid > .p-button {
    border-color: #e24c4c;
  }
  .p-slider {
    background: #e5e7eb;
    border: 0 none;
    border-radius: 6px;
  }
  .p-slider.p-slider-horizontal {
    height: 0.286rem;
  }
  .p-slider.p-slider-horizontal .p-slider-handle {
    margin-top: -0.5715rem;
    margin-left: -0.5715rem;
  }
  .p-slider.p-slider-vertical {
    width: 0.286rem;
  }
  .p-slider.p-slider-vertical .p-slider-handle {
    margin-left: -0.5715rem;
    margin-bottom: -0.5715rem;
  }
  .p-slider .p-slider-handle {
    height: 1.143rem;
    width: 1.143rem;
    background: #ffffff;
    border: 2px solid #36E19F;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-slider .p-slider-handle:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-slider .p-slider-range {
    background: #36E19F;
  }
  .p-slider:not(.p-disabled) .p-slider-handle:hover {
    background: #36E19F;
    border-color: #36E19F;
  }
  .p-treeselect {
    background: #ffffff;
    border: 1px solid #36E19F;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-treeselect:not(.p-disabled):hover {
    border-color: #36E19F;
  }
  .p-treeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-treeselect.p-treeselect-clearable .p-treeselect-label {
    padding-right: 1.75rem;
  }
  .p-treeselect.p-variant-filled {
    background: #f3f4f6;
  }
  .p-treeselect.p-variant-filled:not(.p-disabled):hover {
    background-color: #f3f4f6;
  }
  .p-treeselect.p-variant-filled:not(.p-disabled).p-focus {
    background-color: #ffffff;
  }
  .p-treeselect .p-treeselect-label {
    padding: 0.75rem 0.75rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-treeselect .p-treeselect-label.p-placeholder {
    color: #6b7280;
  }
  .p-treeselect.p-treeselect-chip .p-treeselect-token {
    padding: 0.375rem 0.75rem;
    margin-right: 0.5rem;
    background: #e5e7eb;
    color: #4b5563;
    border-radius: 16px;
  }
  .p-treeselect .p-treeselect-trigger {
    background: transparent;
    color: #6b7280;
    width: 3rem;
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-treeselect .p-treeselect-clear-icon {
    color: #6b7280;
    right: 3rem;
  }
  .p-treeselect.p-invalid.p-component {
    border-color: #e24c4c;
  }
  .p-inputwrapper-filled.p-treeselect.p-treeselect-chip .p-treeselect-label {
    padding: 0.375rem 0.75rem;
  }
  .p-treeselect-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-treeselect-panel .p-treeselect-header {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    background: #f9fafb;
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container {
    margin-right: 0.5rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter {
    padding-right: 1.75rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container .p-treeselect-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter {
    padding-right: 3.5rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-filter-container.p-treeselect-clearable-filter .p-treeselect-filter-clear-icon {
    right: 2.5rem;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-close {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-close:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-treeselect-panel .p-treeselect-header .p-treeselect-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-treeselect-panel .p-treeselect-items-wrapper .p-tree {
    border: 0 none;
  }
  .p-treeselect-panel .p-treeselect-items-wrapper .p-treeselect-empty-message {
    padding: 0.75rem 1.25rem;
    color: #4b5563;
    background: transparent;
  }
  .p-input-filled .p-treeselect {
    background: #f3f4f6;
  }
  .p-input-filled .p-treeselect:not(.p-disabled):hover {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-treeselect:not(.p-disabled).p-focus {
    background-color: #ffffff;
  }
  .p-togglebutton {
    position: relative;
    display: inline-flex;
    user-select: none;
    vertical-align: bottom;
  }
  .p-togglebutton-input {
    cursor: pointer;
  }
  .p-togglebutton .p-button {
    flex: 1 1 auto;
  }
  .p-togglebutton .p-togglebutton-input {
    appearance: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    margin: 0;
    opacity: 0;
    z-index: 1;
    outline: 0 none;
    border: 1px solid #d1d5db;
    border-radius: 6px;
  }
  .p-togglebutton .p-button {
    background: #ffffff;
    border: 1px solid #d1d5db;
    color: #4b5563;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    outline-color: transparent;
  }
  .p-togglebutton .p-button .p-button-icon-left,
  .p-togglebutton .p-button .p-button-icon-right {
    color: #6b7280;
  }
  .p-togglebutton.p-highlight .p-button {
    background: #36E19F;
    border-color: #36E19F;
    color: #ffffff;
  }
  .p-togglebutton.p-highlight .p-button .p-button-icon-left,
  .p-togglebutton.p-highlight .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover):not(.p-highlight) .p-button {
    background: #f3f4f6;
    border-color: #d1d5db;
    color: #4b5563;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover):not(.p-highlight) .p-button .p-button-icon-left,
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover):not(.p-highlight) .p-button .p-button-icon-right {
    color: #374151;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover).p-highlight .p-button {
    background: #28b88a;
    border-color: #28b88a;
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover).p-highlight .p-button .p-button-icon-left,
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:hover).p-highlight .p-button .p-button-icon-right {
    color: #ffffff;
  }
  .p-togglebutton:not(.p-disabled):has(.p-togglebutton-input:focus-visible) .p-button {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: #36E19F;
  }
  .p-togglebutton.p-invalid > .p-button {
    border-color: #e24c4c;
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  @keyframes ds-skeleton-loading {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }
  @keyframes ds-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  .p-button {
    color: #FFFFFF;
    background: #787AF2;
    border: 1px solid #787AF2;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
    border-radius: 6px;
    position: relative;
    overflow: hidden;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    font-weight: 500;
  }
  .p-button::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.4), transparent);
    transition: left 500ms cubic-bezier(0, 0, 0.2, 1);
  }
  .p-button:hover::before {
    left: 100%;
  }
  .p-button:not(:disabled):hover {
    background: #5b5fc7;
    color: #FFFFFF;
    border-color: #5b5fc7;
    transform: translateY(-2px);
    box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  }
  .p-button:not(:disabled):active {
    background: #3e42a9;
    color: #FFFFFF;
    border-color: #3e42a9;
    transform: translateY(-1px);
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  }
  .p-button.p-button-outlined {
    background-color: transparent;
    color: #787AF2;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    color: #787AF2;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    color: #787AF2;
    border: 1px solid;
  }
  .p-button.p-button-outlined.p-button-plain {
    color: #6b7280;
    border-color: #6b7280;
  }
  .p-button.p-button-outlined.p-button-plain:not(:disabled):hover {
    background: #f3f4f6;
    color: #6b7280;
  }
  .p-button.p-button-outlined.p-button-plain:not(:disabled):active {
    background: #e5e7eb;
    color: #6b7280;
  }
  .p-button.p-button-text {
    background-color: transparent;
    color: #787AF2;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    color: #787AF2;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    color: #787AF2;
    border-color: transparent;
  }
  .p-button.p-button-text.p-button-plain {
    color: #6b7280;
  }
  .p-button.p-button-text.p-button-plain:not(:disabled):hover {
    background: #f3f4f6;
    color: #6b7280;
  }
  .p-button.p-button-text.p-button-plain:not(:disabled):active {
    background: #e5e7eb;
    color: #6b7280;
  }
  .p-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-button .p-button-label {
    transition-duration: 0.2s;
  }
  .p-button .p-button-icon-left {
    margin-right: 0.5rem;
  }
  .p-button .p-button-icon-right {
    margin-left: 0.5rem;
  }
  .p-button .p-button-icon-bottom {
    margin-top: 0.5rem;
  }
  .p-button .p-button-icon-top {
    margin-bottom: 0.5rem;
  }
  .p-button .p-badge {
    margin-left: 0.5rem;
    min-width: 1rem;
    height: 1rem;
    line-height: 1rem;
    color: #787AF2;
    background-color: #FFFFFF;
  }
  .p-button.p-button-raised {
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  }
  .p-button.p-button-rounded {
    border-radius: 2rem;
  }
  .p-button.p-button-icon-only {
    width: 3rem;
    padding: 0.75rem 0;
  }
  .p-button.p-button-icon-only .p-button-icon-left,
  .p-button.p-button-icon-only .p-button-icon-right {
    margin: 0;
  }
  .p-button.p-button-icon-only.p-button-rounded {
    border-radius: 50%;
    height: 3rem;
  }
  .p-button.p-button-sm {
    font-size: 0.875rem;
    padding: 0.65625rem 1.09375rem;
  }
  .p-button.p-button-sm .p-button-icon {
    font-size: 0.875rem;
  }
  .p-button.p-button-lg {
    font-size: 1.25rem;
    padding: 0.9375rem 1.5625rem;
  }
  .p-button.p-button-lg .p-button-icon {
    font-size: 1.25rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-left .p-button-label {
    margin-left: 0.5rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-right .p-button-label {
    margin-right: 0.5rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-top .p-button-label {
    margin-top: 0.5rem;
  }
  .p-button.p-button-loading-label-only.p-button-loading-bottom .p-button-label {
    margin-bottom: 0.5rem;
  }
  .p-button.p-button-loading-label-only .p-button-loading-icon {
    margin: 0;
  }
  .p-fluid .p-button {
    width: 100%;
  }
  .p-fluid .p-button-icon-only {
    width: 3rem;
  }
  .p-fluid .p-button-group {
    display: flex;
  }
  .p-fluid .p-button-group .p-button {
    flex: 1;
  }
  .p-button.p-button-primary-gradient {
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    border: none;
    transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
    color: white;
    box-shadow: 0 4px 14px 0 rgba(54, 225, 159, 0.39);
  }
  .p-button.p-button-primary-gradient:hover {
    filter: brightness(0.95);
    transform: translateY(-1px);
  }
  .p-button.p-button-primary-gradient:active {
    transform: translateY(0);
    filter: brightness(0.9);
  }
  .p-button.p-button-primary-gradient:focus {
    box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
    outline: none;
  }
  .p-button.p-button-primary-gradient.p-button-sm {
    height: 2rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.875rem;
    border-radius: 0.375rem;
  }
  .p-button.p-button-primary-gradient.p-button-lg {
    height: 3rem;
    padding: 1rem 1.5rem;
    font-size: 1.125rem;
    border-radius: 0.75rem;
  }
  .p-button.p-button-primary-gradient.p-button-xl {
    height: 3.5rem;
    padding: 1.25rem 2rem;
    font-size: 1.25rem;
    border-radius: 1rem;
  }
  .p-button.p-button-success-gradient {
    background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    border: none;
    transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
    color: white;
    box-shadow: 0 4px 14px 0 rgba(16, 185, 129, 0.39);
  }
  .p-button.p-button-success-gradient:hover {
    filter: brightness(0.95);
    transform: translateY(-1px);
  }
  .p-button.p-button-success-gradient:active {
    transform: translateY(0);
    filter: brightness(0.9);
  }
  .p-button.p-button-success-gradient:focus {
    box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
    outline: none;
  }
  .p-button.p-button-warning-gradient {
    background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    border: none;
    transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
    color: white;
    box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.39);
  }
  .p-button.p-button-warning-gradient:hover {
    filter: brightness(0.95);
    transform: translateY(-1px);
  }
  .p-button.p-button-warning-gradient:active {
    transform: translateY(0);
    filter: brightness(0.9);
  }
  .p-button.p-button-warning-gradient:focus {
    box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
    outline: none;
  }
  .p-button.p-button-error-gradient, .p-button.p-button-danger-gradient {
    background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
    border: none;
    transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
    color: white;
    box-shadow: 0 4px 14px 0 rgba(239, 68, 68, 0.39);
  }
  .p-button.p-button-error-gradient:hover, .p-button.p-button-danger-gradient:hover {
    filter: brightness(0.95);
    transform: translateY(-1px);
  }
  .p-button.p-button-error-gradient:active, .p-button.p-button-danger-gradient:active {
    transform: translateY(0);
    filter: brightness(0.9);
  }
  .p-button.p-button-error-gradient:focus, .p-button.p-button-danger-gradient:focus {
    box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
    outline: none;
  }
  .p-button.p-button-secondary, .p-button-group.p-button-secondary > .p-button, .p-splitbutton.p-button-secondary > .p-button, .p-fileupload-choose.p-button-secondary {
    color: #ffffff;
    background: #787af2;
    border: 1px solid #787af2;
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  }
  .p-button.p-button-secondary:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-secondary:not(:disabled):hover {
    background: #5b5fc7;
    color: #ffffff;
    border-color: #5b5fc7;
  }
  .p-button.p-button-secondary:not(:disabled):focus, .p-button-group.p-button-secondary > .p-button:not(:disabled):focus, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-secondary:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #d6d9fd;
  }
  .p-button.p-button-secondary:not(:disabled):active, .p-button-group.p-button-secondary > .p-button:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-secondary:not(:disabled):active {
    background: #3e42a9;
    color: #ffffff;
    border-color: #3e42a9;
  }
  .p-button.p-button-secondary.p-button-outlined, .p-button-group.p-button-secondary > .p-button.p-button-outlined, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined, .p-fileupload-choose.p-button-secondary.p-button-outlined {
    background-color: transparent;
    color: #787af2;
    border: 1px solid;
  }
  .p-button.p-button-secondary.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    color: #787af2;
    border: 1px solid;
  }
  .p-button.p-button-secondary.p-button-outlined:not(:disabled):active, .p-button-group.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-outlined:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    color: #787af2;
    border: 1px solid;
  }
  .p-button.p-button-secondary.p-button-text, .p-button-group.p-button-secondary > .p-button.p-button-text, .p-splitbutton.p-button-secondary > .p-button.p-button-text, .p-fileupload-choose.p-button-secondary.p-button-text {
    background-color: transparent;
    color: #787af2;
    border-color: transparent;
  }
  .p-button.p-button-secondary.p-button-text:not(:disabled):hover, .p-button-group.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    border-color: transparent;
    color: #787af2;
  }
  .p-button.p-button-secondary.p-button-text:not(:disabled):active, .p-button-group.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-secondary > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-secondary.p-button-text:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    border-color: transparent;
    color: #787af2;
  }
  .p-button.p-button-info, .p-button-group.p-button-info > .p-button, .p-splitbutton.p-button-info > .p-button, .p-fileupload-choose.p-button-info {
    color: #ffffff;
    background: #57b0c5;
    border: 1px solid #57b0c5;
  }
  .p-button.p-button-info:not(:disabled):hover, .p-button-group.p-button-info > .p-button:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-info:not(:disabled):hover {
    background: #4498ad;
    color: #ffffff;
    border-color: #4498ad;
  }
  .p-button.p-button-info:not(:disabled):focus, .p-button-group.p-button-info > .p-button:not(:disabled):focus, .p-splitbutton.p-button-info > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-info:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #9fc5d6;
  }
  .p-button.p-button-info:not(:disabled):active, .p-button-group.p-button-info > .p-button:not(:disabled):active, .p-splitbutton.p-button-info > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-info:not(:disabled):active {
    background: #337c8f;
    color: #ffffff;
    border-color: #337c8f;
  }
  .p-button.p-button-info.p-button-outlined, .p-button-group.p-button-info > .p-button.p-button-outlined, .p-splitbutton.p-button-info > .p-button.p-button-outlined, .p-fileupload-choose.p-button-info.p-button-outlined {
    background-color: transparent;
    color: #57b0c5;
    border: 1px solid;
  }
  .p-button.p-button-info.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):hover {
    background: rgba(87, 176, 197, 0.04);
    color: #57b0c5;
    border: 1px solid;
  }
  .p-button.p-button-info.p-button-outlined:not(:disabled):active, .p-button-group.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-outlined:not(:disabled):active {
    background: rgba(87, 176, 197, 0.16);
    color: #57b0c5;
    border: 1px solid;
  }
  .p-button.p-button-info.p-button-text, .p-button-group.p-button-info > .p-button.p-button-text, .p-splitbutton.p-button-info > .p-button.p-button-text, .p-fileupload-choose.p-button-info.p-button-text {
    background-color: transparent;
    color: #57b0c5;
    border-color: transparent;
  }
  .p-button.p-button-info.p-button-text:not(:disabled):hover, .p-button-group.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):hover {
    background: rgba(87, 176, 197, 0.04);
    border-color: transparent;
    color: #57b0c5;
  }
  .p-button.p-button-info.p-button-text:not(:disabled):active, .p-button-group.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-info > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-info.p-button-text:not(:disabled):active {
    background: rgba(87, 176, 197, 0.16);
    border-color: transparent;
    color: #57b0c5;
  }
  .p-button.p-button-success, .p-button-group.p-button-success > .p-button, .p-splitbutton.p-button-success > .p-button, .p-fileupload-choose.p-button-success {
    color: #ffffff;
    background: #36e19f;
    border: 1px solid #36e19f;
  }
  .p-button.p-button-success:not(:disabled):hover, .p-button-group.p-button-success > .p-button:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-success:not(:disabled):hover {
    background: #28b88a;
    color: #ffffff;
    border-color: #28b88a;
  }
  .p-button.p-button-success:not(:disabled):focus, .p-button-group.p-button-success > .p-button:not(:disabled):focus, .p-splitbutton.p-button-success > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-success:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #9cf0c2;
  }
  .p-button.p-button-success:not(:disabled):active, .p-button-group.p-button-success > .p-button:not(:disabled):active, .p-splitbutton.p-button-success > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-success:not(:disabled):active {
    background: #1e966f;
    color: #ffffff;
    border-color: #1e966f;
  }
  .p-button.p-button-success.p-button-outlined, .p-button-group.p-button-success > .p-button.p-button-outlined, .p-splitbutton.p-button-success > .p-button.p-button-outlined, .p-fileupload-choose.p-button-success.p-button-outlined {
    background-color: transparent;
    color: #36e19f;
    border: 1px solid;
  }
  .p-button.p-button-success.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):hover {
    background: rgba(54, 225, 159, 0.04);
    color: #36e19f;
    border: 1px solid;
  }
  .p-button.p-button-success.p-button-outlined:not(:disabled):active, .p-button-group.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-outlined:not(:disabled):active {
    background: rgba(54, 225, 159, 0.16);
    color: #36e19f;
    border: 1px solid;
  }
  .p-button.p-button-success.p-button-text, .p-button-group.p-button-success > .p-button.p-button-text, .p-splitbutton.p-button-success > .p-button.p-button-text, .p-fileupload-choose.p-button-success.p-button-text {
    background-color: transparent;
    color: #36e19f;
    border-color: transparent;
  }
  .p-button.p-button-success.p-button-text:not(:disabled):hover, .p-button-group.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):hover {
    background: rgba(54, 225, 159, 0.04);
    border-color: transparent;
    color: #36e19f;
  }
  .p-button.p-button-success.p-button-text:not(:disabled):active, .p-button-group.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-success > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-success.p-button-text:not(:disabled):active {
    background: rgba(54, 225, 159, 0.16);
    border-color: transparent;
    color: #36e19f;
  }
  .p-button.p-button-warning, .p-button-group.p-button-warning > .p-button, .p-splitbutton.p-button-warning > .p-button, .p-fileupload-choose.p-button-warning {
    color: #ffffff;
    background: #f97316;
    border: 1px solid #f97316;
  }
  .p-button.p-button-warning:not(:disabled):hover, .p-button-group.p-button-warning > .p-button:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-warning:not(:disabled):hover {
    background: #ea580c;
    color: #ffffff;
    border-color: #ea580c;
  }
  .p-button.p-button-warning:not(:disabled):focus, .p-button-group.p-button-warning > .p-button:not(:disabled):focus, .p-splitbutton.p-button-warning > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-warning:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #fde68a;
  }
  .p-button.p-button-warning:not(:disabled):active, .p-button-group.p-button-warning > .p-button:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-warning:not(:disabled):active {
    background: #c2410c;
    color: #ffffff;
    border-color: #c2410c;
  }
  .p-button.p-button-warning.p-button-outlined, .p-button-group.p-button-warning > .p-button.p-button-outlined, .p-splitbutton.p-button-warning > .p-button.p-button-outlined, .p-fileupload-choose.p-button-warning.p-button-outlined {
    background-color: transparent;
    color: #f97316;
    border: 1px solid;
  }
  .p-button.p-button-warning.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):hover {
    background: rgba(249, 115, 22, 0.04);
    color: #f97316;
    border: 1px solid;
  }
  .p-button.p-button-warning.p-button-outlined:not(:disabled):active, .p-button-group.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-outlined:not(:disabled):active {
    background: rgba(249, 115, 22, 0.16);
    color: #f97316;
    border: 1px solid;
  }
  .p-button.p-button-warning.p-button-text, .p-button-group.p-button-warning > .p-button.p-button-text, .p-splitbutton.p-button-warning > .p-button.p-button-text, .p-fileupload-choose.p-button-warning.p-button-text {
    background-color: transparent;
    color: #f97316;
    border-color: transparent;
  }
  .p-button.p-button-warning.p-button-text:not(:disabled):hover, .p-button-group.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):hover {
    background: rgba(249, 115, 22, 0.04);
    border-color: transparent;
    color: #f97316;
  }
  .p-button.p-button-warning.p-button-text:not(:disabled):active, .p-button-group.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-warning > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-warning.p-button-text:not(:disabled):active {
    background: rgba(249, 115, 22, 0.16);
    border-color: transparent;
    color: #f97316;
  }
  .p-button.p-button-help, .p-button-group.p-button-help > .p-button, .p-splitbutton.p-button-help > .p-button, .p-fileupload-choose.p-button-help {
    color: #ffffff;
    background: #a855f7;
    border: 1px solid #a855f7;
  }
  .p-button.p-button-help:not(:disabled):hover, .p-button-group.p-button-help > .p-button:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-help:not(:disabled):hover {
    background: #9333ea;
    color: #ffffff;
    border-color: #9333ea;
  }
  .p-button.p-button-help:not(:disabled):focus, .p-button-group.p-button-help > .p-button:not(:disabled):focus, .p-splitbutton.p-button-help > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-help:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #e9d5ff;
  }
  .p-button.p-button-help:not(:disabled):active, .p-button-group.p-button-help > .p-button:not(:disabled):active, .p-splitbutton.p-button-help > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-help:not(:disabled):active {
    background: #7e22ce;
    color: #ffffff;
    border-color: #7e22ce;
  }
  .p-button.p-button-help.p-button-outlined, .p-button-group.p-button-help > .p-button.p-button-outlined, .p-splitbutton.p-button-help > .p-button.p-button-outlined, .p-fileupload-choose.p-button-help.p-button-outlined {
    background-color: transparent;
    color: #a855f7;
    border: 1px solid;
  }
  .p-button.p-button-help.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):hover {
    background: rgba(168, 85, 247, 0.04);
    color: #a855f7;
    border: 1px solid;
  }
  .p-button.p-button-help.p-button-outlined:not(:disabled):active, .p-button-group.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-outlined:not(:disabled):active {
    background: rgba(168, 85, 247, 0.16);
    color: #a855f7;
    border: 1px solid;
  }
  .p-button.p-button-help.p-button-text, .p-button-group.p-button-help > .p-button.p-button-text, .p-splitbutton.p-button-help > .p-button.p-button-text, .p-fileupload-choose.p-button-help.p-button-text {
    background-color: transparent;
    color: #a855f7;
    border-color: transparent;
  }
  .p-button.p-button-help.p-button-text:not(:disabled):hover, .p-button-group.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):hover {
    background: rgba(168, 85, 247, 0.04);
    border-color: transparent;
    color: #a855f7;
  }
  .p-button.p-button-help.p-button-text:not(:disabled):active, .p-button-group.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-help > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-help.p-button-text:not(:disabled):active {
    background: rgba(168, 85, 247, 0.16);
    border-color: transparent;
    color: #a855f7;
  }
  .p-button.p-button-danger, .p-button-group.p-button-danger > .p-button, .p-splitbutton.p-button-danger > .p-button, .p-fileupload-choose.p-button-danger {
    color: #ffffff;
    background: #ef4444;
    border: 1px solid #ef4444;
  }
  .p-button.p-button-danger:not(:disabled):hover, .p-button-group.p-button-danger > .p-button:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button:not(:disabled):hover, .p-fileupload-choose.p-button-danger:not(:disabled):hover {
    background: #dc2626;
    color: #ffffff;
    border-color: #dc2626;
  }
  .p-button.p-button-danger:not(:disabled):focus, .p-button-group.p-button-danger > .p-button:not(:disabled):focus, .p-splitbutton.p-button-danger > .p-button:not(:disabled):focus, .p-fileupload-choose.p-button-danger:not(:disabled):focus {
    box-shadow: 0 0 0 0.2rem #fecaca;
  }
  .p-button.p-button-danger:not(:disabled):active, .p-button-group.p-button-danger > .p-button:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button:not(:disabled):active, .p-fileupload-choose.p-button-danger:not(:disabled):active {
    background: #b91c1c;
    color: #ffffff;
    border-color: #b91c1c;
  }
  .p-button.p-button-danger.p-button-outlined, .p-button-group.p-button-danger > .p-button.p-button-outlined, .p-splitbutton.p-button-danger > .p-button.p-button-outlined, .p-fileupload-choose.p-button-danger.p-button-outlined {
    background-color: transparent;
    color: #ef4444;
    border: 1px solid;
  }
  .p-button.p-button-danger.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):hover {
    background: rgba(239, 68, 68, 0.04);
    color: #ef4444;
    border: 1px solid;
  }
  .p-button.p-button-danger.p-button-outlined:not(:disabled):active, .p-button-group.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-outlined:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-outlined:not(:disabled):active {
    background: rgba(239, 68, 68, 0.16);
    color: #ef4444;
    border: 1px solid;
  }
  .p-button.p-button-danger.p-button-text, .p-button-group.p-button-danger > .p-button.p-button-text, .p-splitbutton.p-button-danger > .p-button.p-button-text, .p-fileupload-choose.p-button-danger.p-button-text {
    background-color: transparent;
    color: #ef4444;
    border-color: transparent;
  }
  .p-button.p-button-danger.p-button-text:not(:disabled):hover, .p-button-group.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):hover, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):hover {
    background: rgba(239, 68, 68, 0.04);
    border-color: transparent;
    color: #ef4444;
  }
  .p-button.p-button-danger.p-button-text:not(:disabled):active, .p-button-group.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-danger > .p-button.p-button-text:not(:disabled):active, .p-fileupload-choose.p-button-danger.p-button-text:not(:disabled):active {
    background: rgba(239, 68, 68, 0.16);
    border-color: transparent;
    color: #ef4444;
  }
  .p-button.p-button-contrast, .p-button-group.p-button-contrast > .p-button, .p-splitbutton.p-button-contrast > .p-button {
    color: #ffffff;
    background: #1f2937;
    border: 1px solid #1f2937;
  }
  .p-button.p-button-contrast:not(:disabled):hover, .p-button-group.p-button-contrast > .p-button:not(:disabled):hover, .p-splitbutton.p-button-contrast > .p-button:not(:disabled):hover {
    background: #374151;
    color: #ffffff;
    border-color: #374151;
  }
  .p-button.p-button-contrast:not(:disabled):focus, .p-button-group.p-button-contrast > .p-button:not(:disabled):focus, .p-splitbutton.p-button-contrast > .p-button:not(:disabled):focus {
    box-shadow: none;
  }
  .p-button.p-button-contrast:not(:disabled):active, .p-button-group.p-button-contrast > .p-button:not(:disabled):active, .p-splitbutton.p-button-contrast > .p-button:not(:disabled):active {
    background: #4b5563;
    color: #ffffff;
    border-color: #4b5563;
  }
  .p-button.p-button-contrast.p-button-outlined, .p-button-group.p-button-contrast > .p-button.p-button-outlined, .p-splitbutton.p-button-contrast > .p-button.p-button-outlined {
    background-color: transparent;
    color: #1f2937;
    border: 1px solid;
  }
  .p-button.p-button-contrast.p-button-outlined:not(:disabled):hover, .p-button-group.p-button-contrast > .p-button.p-button-outlined:not(:disabled):hover, .p-splitbutton.p-button-contrast > .p-button.p-button-outlined:not(:disabled):hover {
    background: rgba(31, 41, 55, 0.04);
    color: #1f2937;
    border: 1px solid;
  }
  .p-button.p-button-contrast.p-button-outlined:not(:disabled):active, .p-button-group.p-button-contrast > .p-button.p-button-outlined:not(:disabled):active, .p-splitbutton.p-button-contrast > .p-button.p-button-outlined:not(:disabled):active {
    background: rgba(31, 41, 55, 0.16);
    color: #1f2937;
    border: 1px solid;
  }
  .p-button.p-button-contrast.p-button-text, .p-button-group.p-button-contrast > .p-button.p-button-text, .p-splitbutton.p-button-contrast > .p-button.p-button-text {
    background-color: transparent;
    color: #1f2937;
    border-color: transparent;
  }
  .p-button.p-button-contrast.p-button-text:not(:disabled):hover, .p-button-group.p-button-contrast > .p-button.p-button-text:not(:disabled):hover, .p-splitbutton.p-button-contrast > .p-button.p-button-text:not(:disabled):hover {
    background: rgba(31, 41, 55, 0.04);
    border-color: transparent;
    color: #1f2937;
  }
  .p-button.p-button-contrast.p-button-text:not(:disabled):active, .p-button-group.p-button-contrast > .p-button.p-button-text:not(:disabled):active, .p-splitbutton.p-button-contrast > .p-button.p-button-text:not(:disabled):active {
    background: rgba(31, 41, 55, 0.16);
    border-color: transparent;
    color: #1f2937;
  }
  .p-button.p-button-link {
    color: #0e7490;
    background: transparent;
    border: transparent;
  }
  .p-button.p-button-link:not(:disabled):hover {
    background: transparent;
    color: #0e7490;
    border-color: transparent;
  }
  .p-button.p-button-link:not(:disabled):hover .p-button-label {
    text-decoration: underline;
  }
  .p-button.p-button-link:not(:disabled):focus {
    background: transparent;
    box-shadow: 0 0 0 0.2rem #70ffcb;
    border-color: transparent;
  }
  .p-button.p-button-link:not(:disabled):active {
    background: transparent;
    color: #0e7490;
    border-color: transparent;
  }
  .p-splitbutton {
    border-radius: 6px;
  }
  .p-splitbutton.p-button-outlined > .p-button {
    background-color: transparent;
    color: #787AF2;
    border: 1px solid;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    color: #787AF2;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    color: #787AF2;
  }
  .p-splitbutton.p-button-outlined.p-button-plain > .p-button {
    color: #6b7280;
    border-color: #6b7280;
  }
  .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):hover {
    background: #f3f4f6;
    color: #6b7280;
  }
  .p-splitbutton.p-button-outlined.p-button-plain > .p-button:not(:disabled):active {
    background: #e5e7eb;
    color: #6b7280;
  }
  .p-splitbutton.p-button-text > .p-button {
    background-color: transparent;
    color: #787AF2;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    color: #787AF2;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    color: #787AF2;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text.p-button-plain > .p-button {
    color: #6b7280;
  }
  .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):hover {
    background: #f3f4f6;
    color: #6b7280;
  }
  .p-splitbutton.p-button-text.p-button-plain > .p-button:not(:disabled):active {
    background: #e5e7eb;
    color: #6b7280;
  }
  .p-splitbutton.p-button-raised {
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
  }
  .p-splitbutton.p-button-rounded {
    border-radius: 2rem;
  }
  .p-splitbutton.p-button-rounded > .p-button {
    border-radius: 2rem;
  }
  .p-splitbutton.p-button-sm > .p-button {
    font-size: 0.875rem;
    padding: 0.65625rem 1.09375rem;
  }
  .p-splitbutton.p-button-sm > .p-button .p-button-icon {
    font-size: 0.875rem;
  }
  .p-splitbutton.p-button-lg > .p-button {
    font-size: 1.25rem;
    padding: 0.9375rem 1.5625rem;
  }
  .p-splitbutton.p-button-lg > .p-button.p-button-icon-only {
    width: auto;
  }
  .p-splitbutton.p-button-lg > .p-button .p-button-icon {
    font-size: 1.25rem;
  }
  .p-splitbutton .p-splitbutton-menubutton,
  .p-splitbutton .p-splitbutton.p-button-rounded > .p-splitbutton-menubutton.p-button,
  .p-splitbutton .p-splitbutton.p-button-outlined > .p-splitbutton-menubutton.p-button {
    border-top-left-radius: 0;
    border-bottom-left-radius: 0;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button {
    background-color: transparent;
    color: #787af2;
    border: 1px solid;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    color: #787af2;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    color: #787af2;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button {
    background-color: transparent;
    color: #787af2;
    border-color: transparent;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(120, 122, 242, 0.04);
    border-color: transparent;
    color: #787af2;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active {
    background: rgba(120, 122, 242, 0.16);
    border-color: transparent;
    color: #787af2;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button {
    background-color: transparent;
    color: #57b0c5;
    border: 1px solid;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(87, 176, 197, 0.04);
    color: #57b0c5;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(87, 176, 197, 0.16);
    color: #57b0c5;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button {
    background-color: transparent;
    color: #57b0c5;
    border-color: transparent;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(87, 176, 197, 0.04);
    border-color: transparent;
    color: #57b0c5;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active {
    background: rgba(87, 176, 197, 0.16);
    border-color: transparent;
    color: #57b0c5;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button {
    background-color: transparent;
    color: #36e19f;
    border: 1px solid;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(54, 225, 159, 0.04);
    color: #36e19f;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(54, 225, 159, 0.16);
    color: #36e19f;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button {
    background-color: transparent;
    color: #36e19f;
    border-color: transparent;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(54, 225, 159, 0.04);
    border-color: transparent;
    color: #36e19f;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active {
    background: rgba(54, 225, 159, 0.16);
    border-color: transparent;
    color: #36e19f;
  }
  .p-splitbutton.p-button-warning.p-button-outlined > .p-button {
    background-color: transparent;
    color: #f97316;
    border: 1px solid;
  }
  .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(249, 115, 22, 0.04);
    color: #f97316;
  }
  .p-splitbutton.p-button-warning.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(249, 115, 22, 0.16);
    color: #f97316;
  }
  .p-splitbutton.p-button-warning.p-button-text > .p-button {
    background-color: transparent;
    color: #f97316;
    border-color: transparent;
  }
  .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(249, 115, 22, 0.04);
    border-color: transparent;
    color: #f97316;
  }
  .p-splitbutton.p-button-warning.p-button-text > .p-button:not(:disabled):active {
    background: rgba(249, 115, 22, 0.16);
    border-color: transparent;
    color: #f97316;
  }
  .p-splitbutton.p-button-help.p-button-outlined > .p-button {
    background-color: transparent;
    color: #a855f7;
    border: 1px solid;
  }
  .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(168, 85, 247, 0.04);
    color: #a855f7;
  }
  .p-splitbutton.p-button-help.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(168, 85, 247, 0.16);
    color: #a855f7;
  }
  .p-splitbutton.p-button-help.p-button-text > .p-button {
    background-color: transparent;
    color: #a855f7;
    border-color: transparent;
  }
  .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(168, 85, 247, 0.04);
    border-color: transparent;
    color: #a855f7;
  }
  .p-splitbutton.p-button-help.p-button-text > .p-button:not(:disabled):active {
    background: rgba(168, 85, 247, 0.16);
    border-color: transparent;
    color: #a855f7;
  }
  .p-splitbutton.p-button-danger.p-button-outlined > .p-button {
    background-color: transparent;
    color: #ef4444;
    border: 1px solid;
  }
  .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(239, 68, 68, 0.04);
    color: #ef4444;
  }
  .p-splitbutton.p-button-danger.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(239, 68, 68, 0.16);
    color: #ef4444;
  }
  .p-splitbutton.p-button-danger.p-button-text > .p-button {
    background-color: transparent;
    color: #ef4444;
    border-color: transparent;
  }
  .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(239, 68, 68, 0.04);
    border-color: transparent;
    color: #ef4444;
  }
  .p-splitbutton.p-button-danger.p-button-text > .p-button:not(:disabled):active {
    background: rgba(239, 68, 68, 0.16);
    border-color: transparent;
    color: #ef4444;
  }
  .p-speeddial-button.p-button.p-button-icon-only {
    width: 4rem;
    height: 4rem;
  }
  .p-speeddial-button.p-button.p-button-icon-only .p-button-icon {
    font-size: 1.3rem;
  }
  .p-speeddial-button.p-button.p-button-icon-only .p-button-icon.p-icon {
    width: 1.3rem;
    height: 1.3rem;
  }
  .p-speeddial-list {
    outline: 0 none;
  }
  .p-speeddial-action {
    width: 3rem;
    height: 3rem;
    background: #4b5563;
    color: #fff;
  }
  .p-speeddial-action:hover {
    background: #022354;
    color: #fff;
  }
  .p-speeddial-direction-up .p-speeddial-item {
    margin: 0.25rem;
  }
  .p-speeddial-direction-up .p-speeddial-item:first-child {
    margin-bottom: 0.5rem;
  }
  .p-speeddial-direction-down .p-speeddial-item {
    margin: 0.25rem;
  }
  .p-speeddial-direction-down .p-speeddial-item:first-child {
    margin-top: 0.5rem;
  }
  .p-speeddial-direction-left .p-speeddial-item {
    margin: 0 0.25rem;
  }
  .p-speeddial-direction-left .p-speeddial-item:first-child {
    margin-right: 0.5rem;
  }
  .p-speeddial-direction-right .p-speeddial-item {
    margin: 0 0.25rem;
  }
  .p-speeddial-direction-right .p-speeddial-item:first-child {
    margin-left: 0.5rem;
  }
  .p-speeddial-circle .p-speeddial-item,
  .p-speeddial-semi-circle .p-speeddial-item,
  .p-speeddial-quarter-circle .p-speeddial-item {
    margin: 0;
  }
  .p-speeddial-circle .p-speeddial-item:first-child, .p-speeddial-circle .p-speeddial-item:last-child,
  .p-speeddial-semi-circle .p-speeddial-item:first-child,
  .p-speeddial-semi-circle .p-speeddial-item:last-child,
  .p-speeddial-quarter-circle .p-speeddial-item:first-child,
  .p-speeddial-quarter-circle .p-speeddial-item:last-child {
    margin: 0;
  }
  .p-speeddial-mask {
    background-color: rgba(0, 0, 0, 0.4);
    border-radius: 6px;
  }
  .p-carousel .p-carousel-content .p-carousel-prev,
  .p-carousel .p-carousel-content .p-carousel-next {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin: 0.5rem;
  }
  .p-carousel .p-carousel-content .p-carousel-prev:enabled:hover,
  .p-carousel .p-carousel-content .p-carousel-next:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-carousel .p-carousel-content .p-carousel-prev:focus-visible,
  .p-carousel .p-carousel-content .p-carousel-next:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-carousel .p-carousel-indicators {
    padding: 1rem;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator {
    margin-right: 0.5rem;
    margin-bottom: 0.5rem;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator button {
    background-color: #d1d5db;
    width: 2rem;
    height: 0.5rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 0;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator button:hover {
    background: #9ca3af;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {
    background: #ecfeff;
    color: #0e7490;
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  @keyframes ds-skeleton-loading {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }
  @keyframes ds-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  .p-datatable {
    border-radius: 0.5rem;
    overflow: hidden;
    box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
  }
  .p-datatable:hover {
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
  .p-datatable .p-paginator-top {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-datatable .p-paginator-bottom {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-datatable .p-datatable-header {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
  }
  .p-datatable .p-datatable-footer {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
  }
  .p-datatable .p-datatable-thead > tr > th {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    font-weight: 600;
    color: #374151;
    background: linear-gradient(135deg, #f9fafb 0%, rgb(242.88, 244.9, 246.92) 100%);
    transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
    position: relative;
  }
  .p-datatable .p-datatable-thead > tr > th::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    transform: scaleX(0);
    transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
  }
  .p-datatable .p-datatable-thead > tr > th:hover::after {
    transform: scaleX(1);
  }
  .p-datatable .p-datatable-tfoot > tr > td {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: #374151;
    background: #f9fafb;
  }
  .p-datatable .p-sortable-column .p-sortable-column-icon {
    color: #374151;
    margin-left: 0.5rem;
  }
  .p-datatable .p-sortable-column .p-sortable-column-badge {
    border-radius: 50%;
    height: 1.143rem;
    min-width: 1.143rem;
    line-height: 1.143rem;
    color: #0e7490;
    background: #ecfeff;
    margin-left: 0.5rem;
  }
  .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover {
    background: #f3f4f6;
    color: #374151;
  }
  .p-datatable .p-sortable-column:not(.p-highlight):not(.p-sortable-disabled):hover .p-sortable-column-icon {
    color: #374151;
  }
  .p-datatable .p-sortable-column.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #0e7490;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon {
    color: #0e7490;
  }
  .p-datatable .p-sortable-column:focus-visible {
    box-shadow: inset 0 0 0 0.15rem #70ffcb;
    outline: 0 none;
  }
  .p-datatable .p-datatable-tbody > tr {
    background: #ffffff;
    color: #4b5563;
    transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
    position: relative;
  }
  .p-datatable .p-datatable-tbody > tr:hover {
    transform: translateX(4px);
    background: linear-gradient(135deg, #f3f4f6 0%, rgb(248.8285714286, 249.3428571429, 250.3714285714) 100%);
    box-shadow: inset 4px 0 0 #36E19F;
  }
  .p-datatable .p-datatable-tbody > tr > td {
    text-align: left;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-toggler,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-init,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:enabled:hover,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:enabled:hover,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:enabled:hover,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-toggler:focus-visible,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-init:focus-visible,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save:focus-visible,
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-cancel:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-datatable .p-datatable-tbody > tr > td .p-row-editor-save {
    margin-right: 0.5rem;
  }
  .p-datatable .p-datatable-tbody > tr > td > .p-column-title {
    font-weight: 700;
  }
  .p-datatable .p-datatable-tbody > tr > td.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu {
    outline: 0.15rem solid #70ffcb;
    outline-offset: -0.15rem;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 #ecfeff;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #ecfeff;
  }
  .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover {
    background: linear-gradient(135deg, #f3f4f6 0%, rgb(248.8285714286, 249.3428571429, 250.3714285714) 100%);
    color: #4b5563;
    transform: translateX(6px);
    box-shadow: inset 4px 0 0 #36E19F, 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  }
  .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible {
    outline: 0.15rem solid #70ffcb;
    outline-offset: -0.15rem;
  }
  .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-datatable.p-datatable-selectable-cell .p-datatable-tbody > tr.p-selectable-row > td.p-selectable-cell:focus-visible {
    outline: 0.15rem solid #70ffcb;
    outline-offset: -0.15rem;
  }
  .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover {
    background: linear-gradient(135deg, #f3f4f6 0%, rgb(248.8285714286, 249.3428571429, 250.3714285714) 100%);
    color: #4b5563;
    transform: translateX(4px);
    box-shadow: inset 4px 0 0 #36E19F;
  }
  .p-datatable .p-column-resizer-helper {
    background: #36E19F;
  }
  .p-datatable .p-datatable-scrollable-header,
  .p-datatable .p-datatable-scrollable-footer {
    background: #f9fafb;
  }
  .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-thead,
  .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-datatable-table > .p-datatable-tfoot, .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-thead,
  .p-datatable.p-datatable-scrollable > .p-datatable-wrapper > .p-virtualscroller > .p-datatable-table > .p-datatable-tfoot {
    background-color: #f9fafb;
  }
  .p-datatable .p-datatable-loading-icon {
    font-size: 2rem;
  }
  .p-datatable .p-datatable-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-header {
    border-width: 1px 1px 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-footer {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-paginator-top {
    border-width: 0 1px 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-paginator-bottom {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th {
    border-width: 1px 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead > tr > th:last-child {
    border-width: 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td {
    border-width: 1px 0 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr > td:last-child {
    border-width: 1px 1px 0 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td {
    border-width: 1px 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tbody > tr:last-child > td:last-child {
    border-width: 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td {
    border-width: 1px 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-tfoot > tr > td:last-child {
    border-width: 1px 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td {
    border-width: 0 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines .p-datatable-thead + .p-datatable-tfoot > tr > td:last-child {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td {
    border-width: 0 0 1px 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-thead):has(.p-datatable-tbody) .p-datatable-tbody > tr > td:last-child {
    border-width: 0 1px 1px 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td {
    border-width: 0 0 0 1px;
  }
  .p-datatable.p-datatable-gridlines:has(.p-datatable-tbody):has(.p-datatable-tfoot) .p-datatable-tbody > tr:last-child > td:last-child {
    border-width: 0 1px 0 1px;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd {
    background: #f8f8fa;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #0e7490;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #0e7490;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd + .p-row-expanded {
    background: #f8f8fa;
  }
  .p-datatable.p-datatable-sm .p-datatable-header {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-thead > tr > th {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-tbody > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-tfoot > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-sm .p-datatable-footer {
    padding: 0.5rem 0.5rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-header {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-thead > tr > th {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-tbody > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-tfoot > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable.p-datatable-lg .p-datatable-footer {
    padding: 1.25rem 1.25rem;
  }
  .p-datatable-drag-selection-helper {
    background: rgba(54, 225, 159, 0.16);
  }
  .p-dataview .p-paginator-top {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-dataview .p-paginator-bottom {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-dataview .p-dataview-header {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
  }
  .p-dataview .p-dataview-content {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    padding: 0;
  }
  .p-dataview .p-dataview-footer {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-dataview .p-dataview-loading-icon {
    font-size: 2rem;
  }
  .p-dataview .p-dataview-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-datascroller .p-paginator-top {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-datascroller .p-paginator-bottom {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-datascroller .p-datascroller-header {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
  }
  .p-datascroller .p-datascroller-content {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    padding: 0;
  }
  .p-datascroller.p-datascroller-inline .p-datascroller-list > li {
    border: solid #e5e7eb;
    border-width: 0 0 1px 0;
  }
  .p-datascroller .p-datascroller-footer {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-column-filter-row .p-column-filter-menu-button,
  .p-column-filter-row .p-column-filter-clear-button {
    margin-left: 0.5rem;
  }
  .p-column-filter-menu-button {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-column-filter-menu-button:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-column-filter-menu-button.p-column-filter-menu-button-open, .p-column-filter-menu-button.p-column-filter-menu-button-open:hover {
    background: #f3f4f6;
    color: #374151;
  }
  .p-column-filter-menu-button.p-column-filter-menu-button-active, .p-column-filter-menu-button.p-column-filter-menu-button-active:hover {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-column-filter-menu-button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-column-filter-clear-button {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-column-filter-clear-button:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-column-filter-clear-button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-column-filter-overlay {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    min-width: 12.5rem;
  }
  .p-column-filter-overlay .p-column-filter-row-items {
    padding: 0.75rem 0;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item {
    margin: 0;
    padding: 0.75rem 1.25rem;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:not(.p-highlight):not(.p-disabled):hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-row-item:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem #70ffcb;
  }
  .p-column-filter-overlay .p-column-filter-row-items .p-column-filter-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-column-filter-overlay-menu .p-column-filter-operator {
    padding: 0.75rem 1.25rem;
    border-bottom: 1px solid #e5e7eb;
    color: #374151;
    background: #f9fafb;
    margin: 0;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint {
    padding: 1.25rem;
    border-bottom: 1px solid #e5e7eb;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-matchmode-dropdown {
    margin-bottom: 0.5rem;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint .p-column-filter-remove-button {
    margin-top: 0.5rem;
  }
  .p-column-filter-overlay-menu .p-column-filter-constraint:last-child {
    border-bottom: 0 none;
  }
  .p-column-filter-overlay-menu .p-column-filter-add-rule {
    padding: 0.75rem 1.25rem;
  }
  .p-column-filter-overlay-menu .p-column-filter-buttonbar {
    padding: 1.25rem;
  }
  .p-orderlist .p-orderlist-controls {
    padding: 1.25rem;
  }
  .p-orderlist .p-orderlist-controls .p-button {
    margin-bottom: 0.5rem;
  }
  .p-orderlist .p-orderlist-header {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
    font-weight: 700;
    border-bottom: 0 none;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-orderlist .p-orderlist-filter-container {
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-bottom: 0 none;
  }
  .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-input {
    padding-right: 1.75rem;
  }
  .p-orderlist .p-orderlist-filter-container .p-orderlist-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-orderlist .p-orderlist-list {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    padding: 0.75rem 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    outline: 0 none;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item {
    padding: 0.75rem 1.25rem;
    margin: 0;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-focus {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight.p-focus {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even) {
    background: #f8f8fa;
  }
  .p-orderlist.p-orderlist-striped .p-orderlist-list .p-orderlist-item:nth-child(even):hover {
    background: #f3f4f6;
  }
  .p-organizationchart .p-organizationchart-node-content.p-organizationchart-selectable-node:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-organizationchart .p-organizationchart-node-content.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {
    color: rgb(108.5, 247.2894736842, 255);
  }
  .p-organizationchart .p-organizationchart-line-down {
    background: #e5e7eb;
  }
  .p-organizationchart .p-organizationchart-line-left {
    border-right: 1px solid #e5e7eb;
    border-color: #e5e7eb;
  }
  .p-organizationchart .p-organizationchart-line-top {
    border-top: 1px solid #e5e7eb;
    border-color: #e5e7eb;
  }
  .p-organizationchart .p-organizationchart-node-content {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    padding: 1.25rem;
  }
  .p-organizationchart .p-organizationchart-node-content .p-node-toggler {
    background: inherit;
    color: inherit;
    border-radius: 50%;
  }
  .p-organizationchart .p-organizationchart-node-content .p-node-toggler:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-paginator {
    background: #ffffff;
    color: #6b7280;
    border: solid #f3f4f6;
    border-width: 0;
    padding: 0.5rem 1rem;
    border-radius: 6px;
  }
  .p-paginator .p-paginator-first,
  .p-paginator .p-paginator-prev,
  .p-paginator .p-paginator-next,
  .p-paginator .p-paginator-last {
    background-color: transparent;
    border: 0 none;
    color: #6b7280;
    min-width: 3rem;
    height: 3rem;
    margin: 0.143rem;
    transition: box-shadow 0.2s;
    border-radius: 50%;
  }
  .p-paginator .p-paginator-first:not(.p-disabled):not(.p-highlight):hover,
  .p-paginator .p-paginator-prev:not(.p-disabled):not(.p-highlight):hover,
  .p-paginator .p-paginator-next:not(.p-disabled):not(.p-highlight):hover,
  .p-paginator .p-paginator-last:not(.p-disabled):not(.p-highlight):hover {
    background: #f3f4f6;
    border-color: transparent;
    color: #374151;
  }
  .p-paginator .p-paginator-first {
    border-top-left-radius: 50%;
    border-bottom-left-radius: 50%;
  }
  .p-paginator .p-paginator-last {
    border-top-right-radius: 50%;
    border-bottom-right-radius: 50%;
  }
  .p-paginator .p-dropdown {
    margin-left: 0.5rem;
    height: 3rem;
  }
  .p-paginator .p-dropdown .p-dropdown-label {
    padding-right: 0;
  }
  .p-paginator .p-paginator-page-input {
    margin-left: 0.5rem;
    margin-right: 0.5rem;
  }
  .p-paginator .p-paginator-page-input .p-inputtext {
    max-width: 3rem;
  }
  .p-paginator .p-paginator-current {
    background-color: transparent;
    border: 0 none;
    color: #6b7280;
    min-width: 3rem;
    height: 3rem;
    margin: 0.143rem;
    padding: 0 0.5rem;
  }
  .p-paginator .p-paginator-pages .p-paginator-page {
    background-color: transparent;
    border: 0 none;
    color: #6b7280;
    min-width: 3rem;
    height: 3rem;
    margin: 0.143rem;
    transition: box-shadow 0.2s;
    border-radius: 50%;
  }
  .p-paginator .p-paginator-pages .p-paginator-page.p-highlight {
    background: #ecfeff;
    border-color: #ecfeff;
    color: #0e7490;
  }
  .p-paginator .p-paginator-pages .p-paginator-page:not(.p-highlight):hover {
    background: #f3f4f6;
    border-color: transparent;
    color: #374151;
  }
  .p-picklist .p-picklist-buttons {
    padding: 1.25rem;
  }
  .p-picklist .p-picklist-buttons .p-button {
    margin-bottom: 0.5rem;
  }
  .p-picklist .p-picklist-header {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
    font-weight: 700;
    border-bottom: 0 none;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-picklist .p-picklist-filter-container {
    padding: 1.25rem;
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-bottom: 0 none;
  }
  .p-picklist .p-picklist-filter-container .p-picklist-filter-input {
    padding-right: 1.75rem;
  }
  .p-picklist .p-picklist-filter-container .p-picklist-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-picklist .p-picklist-list {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    padding: 0.75rem 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    outline: 0 none;
  }
  .p-picklist .p-picklist-list .p-picklist-item {
    padding: 0.75rem 1.25rem;
    margin: 0;
    border: 0 none;
    color: #4b5563;
    background: transparent;
    transition: transform 0.2s, box-shadow 0.2s;
  }
  .p-picklist .p-picklist-list .p-picklist-item:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-focus {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-highlight {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-highlight.p-focus {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-tree-container {
    margin: 0;
    padding: 0;
    list-style-type: none;
    overflow: auto;
  }
  .p-treenode-children {
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-treenode-selectable {
    cursor: pointer;
    user-select: none;
  }
  .p-tree-toggler {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
    flex-shrink: 0;
  }
  .p-treenode-leaf > .p-treenode-content .p-tree-toggler {
    visibility: hidden;
  }
  .p-treenode-content {
    display: flex;
    align-items: center;
  }
  .p-tree-filter {
    width: 100%;
  }
  .p-tree-filter-container {
    position: relative;
    display: block;
    width: 100%;
  }
  .p-tree-filter-icon {
    position: absolute;
    top: 50%;
    margin-top: -0.5rem;
  }
  .p-tree-loading {
    position: relative;
    min-height: 4rem;
  }
  .p-tree .p-tree-loading-overlay {
    position: absolute;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .p-tree {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    padding: 1.25rem;
    border-radius: 6px;
  }
  .p-tree .p-tree-container .p-treenode {
    padding: 0.143rem;
    outline: 0 none;
  }
  .p-tree .p-tree-container .p-treenode:focus > .p-treenode-content {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem #70ffcb;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content {
    border-radius: 6px;
    transition: box-shadow 0.2s;
    padding: 0.5rem;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler {
    margin-right: 0.5rem;
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-tree-toggler:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-treenode-icon {
    margin-right: 0.5rem;
    color: #6b7280;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content .p-checkbox.p-indeterminate .p-checkbox-icon {
    color: #4b5563;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler,
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon {
    color: #0e7490;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-tree-toggler:hover,
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-highlight .p-treenode-icon:hover {
    color: #0e7490;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-selectable:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-tree .p-tree-container .p-treenode .p-treenode-content.p-treenode-dragover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-tree .p-tree-filter-container {
    margin-bottom: 0.5rem;
  }
  .p-tree .p-tree-filter-container .p-tree-filter {
    width: 100%;
    padding-right: 1.75rem;
  }
  .p-tree .p-tree-filter-container .p-tree-filter-icon {
    right: 0.75rem;
    color: #6b7280;
  }
  .p-tree .p-treenode-children {
    padding: 0 0 0 1rem;
  }
  .p-tree .p-tree-loading-icon {
    font-size: 2rem;
  }
  .p-tree .p-tree-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-tree .p-treenode-droppoint {
    height: 0.5rem;
  }
  .p-tree .p-treenode-droppoint.p-treenode-droppoint-active {
    background: rgb(137.8, 248.8315789474, 255);
  }
  .p-treetable {
    position: relative;
  }
  .p-treetable > .p-treetable-wrapper {
    overflow: auto;
  }
  .p-treetable table {
    border-collapse: collapse;
    width: 100%;
    table-layout: fixed;
  }
  .p-treetable .p-sortable-column {
    cursor: pointer;
    user-select: none;
  }
  .p-treetable-selectable .p-treetable-tbody > tr {
    cursor: pointer;
  }
  .p-treetable-toggler {
    cursor: pointer;
    user-select: none;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    flex-shrink: 0;
    vertical-align: middle;
    overflow: hidden;
    position: relative;
  }
  .p-treetable-toggler + .p-checkbox {
    vertical-align: middle;
  }
  .p-treetable-toggler + .p-checkbox + span {
    vertical-align: middle;
  }
  /* Resizable */
  .p-treetable-resizable > .p-treetable-wrapper {
    overflow-x: auto;
  }
  .p-treetable-resizable .p-treetable-thead > tr > th,
  .p-treetable-resizable .p-treetable-tfoot > tr > td,
  .p-treetable-resizable .p-treetable-tbody > tr > td {
    overflow: hidden;
  }
  .p-treetable-resizable .p-resizable-column {
    background-clip: padding-box;
    position: relative;
  }
  .p-treetable-resizable-fit .p-resizable-column:last-child .p-column-resizer {
    display: none;
  }
  .p-treetable .p-column-resizer {
    display: block;
    position: absolute;
    top: 0;
    right: 0;
    margin: 0;
    width: 0.5rem;
    height: 100%;
    padding: 0px;
    cursor: col-resize;
    border: 1px solid transparent;
  }
  .p-treetable .p-column-resizer-helper {
    width: 1px;
    position: absolute;
    z-index: 10;
    display: none;
  }
  /* Scrollable */
  .p-treetable-scrollable-wrapper {
    position: relative;
  }
  .p-treetable-scrollable-header,
  .p-treetable-scrollable-footer {
    overflow: hidden;
    border: 0 none;
  }
  .p-treetable-scrollable-body {
    overflow: auto;
    position: relative;
  }
  .p-treetable-virtual-table {
    position: absolute;
  }
  /* Frozen Columns */
  .p-treetable-frozen-view .p-treetable-scrollable-body {
    overflow: hidden;
  }
  .p-treetable-unfrozen-view {
    position: absolute;
    top: 0px;
    left: 0px;
  }
  /* Reorder */
  .p-treetable-reorder-indicator-up,
  .p-treetable-reorder-indicator-down {
    position: absolute;
    display: none;
  }
  /* Loader */
  .p-treetable .p-treetable-loading-overlay {
    position: absolute;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 2;
  }
  /* Alignment */
  .p-treetable .p-treetable-thead > tr > th.p-align-left > .p-column-header-content,
  .p-treetable .p-treetable-tbody > tr > td.p-align-left,
  .p-treetable .p-treetable-tfoot > tr > td.p-align-left {
    text-align: left;
    justify-content: flex-start;
  }
  .p-treetable .p-treetable-thead > tr > th.p-align-right > .p-column-header-content,
  .p-treetable .p-treetable-tbody > tr > td.p-align-right,
  .p-treetable .p-treetable-tfoot > tr > td.p-align-right {
    text-align: right;
    justify-content: flex-end;
  }
  .p-treetable .p-treetable-thead > tr > th.p-align-center > .p-column-header-content,
  .p-treetable .p-treetable-tbody > tr > td.p-align-center,
  .p-treetable .p-treetable-tfoot > tr > td.p-align-center {
    text-align: center;
    justify-content: center;
  }
  .p-treetable .p-paginator-top {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-treetable .p-paginator-bottom {
    border-width: 0 0 1px 0;
    border-radius: 0;
  }
  .p-treetable .p-treetable-header {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 1px 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
  }
  .p-treetable .p-treetable-footer {
    background: #f9fafb;
    color: #374151;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
    font-weight: 700;
  }
  .p-treetable .p-treetable-thead > tr > th {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: #374151;
    background: #f9fafb;
    transition: box-shadow 0.2s;
  }
  .p-treetable .p-treetable-tfoot > tr > td {
    text-align: left;
    padding: 1rem 1rem;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    font-weight: 700;
    color: #374151;
    background: #f9fafb;
  }
  .p-treetable .p-sortable-column {
    outline-color: #70ffcb;
  }
  .p-treetable .p-sortable-column .p-sortable-column-icon {
    color: #374151;
    margin-left: 0.5rem;
  }
  .p-treetable .p-sortable-column .p-sortable-column-badge {
    border-radius: 50%;
    height: 1.143rem;
    min-width: 1.143rem;
    line-height: 1.143rem;
    color: #0e7490;
    background: #ecfeff;
    margin-left: 0.5rem;
  }
  .p-treetable .p-sortable-column:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #374151;
  }
  .p-treetable .p-sortable-column:not(.p-highlight):hover .p-sortable-column-icon {
    color: #374151;
  }
  .p-treetable .p-sortable-column.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #0e7490;
  }
  .p-treetable .p-treetable-tbody > tr {
    background: #ffffff;
    color: #4b5563;
    transition: box-shadow 0.2s;
  }
  .p-treetable .p-treetable-tbody > tr > td {
    text-align: left;
    border: 1px solid #e5e7eb;
    border-width: 0 0 1px 0;
    padding: 1rem 1rem;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-right: 0.5rem;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox {
    margin-right: 0.5rem;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler + .p-checkbox .p-indeterminate .p-checkbox-icon {
    color: #4b5563;
  }
  .p-treetable .p-treetable-tbody > tr:focus-visible {
    outline: 0.15rem solid #70ffcb;
    outline-offset: -0.15rem;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {
    color: #0e7490;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {
    color: #0e7490;
  }
  .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-treetable.p-treetable-selectable .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler, .p-treetable.p-treetable-hoverable-rows .p-treetable-tbody > tr:not(.p-highlight):hover .p-treetable-toggler {
    color: #4b5563;
  }
  .p-treetable .p-column-resizer-helper {
    background: #36E19F;
  }
  .p-treetable .p-treetable-scrollable-header,
  .p-treetable .p-treetable-scrollable-footer {
    background: #f9fafb;
  }
  .p-treetable .p-treetable-loading-icon {
    font-size: 2rem;
  }
  .p-treetable .p-treetable-loading-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-header {
    border-width: 1px 1px 0 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-footer {
    border-width: 0 1px 1px 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-top {
    border-width: 0 1px 0 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-bottom {
    border-width: 0 1px 1px 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-thead > tr > th {
    border-width: 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-tbody > tr > td {
    border-width: 1px;
  }
  .p-treetable.p-treetable-gridlines .p-treetable-tfoot > tr > td {
    border-width: 1px;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd {
    background: #f8f8fa;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #0e7490;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #0e7490;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd + .p-row-expanded {
    background: #f8f8fa;
  }
  .p-treetable.p-treetable-sm .p-treetable-header {
    padding: 0.875rem 0.875rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-thead > tr > th {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-tbody > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-tfoot > tr > td {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-sm .p-treetable-footer {
    padding: 0.5rem 0.5rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-header {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-thead > tr > th {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-tbody > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-tfoot > tr > td {
    padding: 1.25rem 1.25rem;
  }
  .p-treetable.p-treetable-lg .p-treetable-footer {
    padding: 1.25rem 1.25rem;
  }
  .p-timeline .p-timeline-event-marker {
    border: 2px solid #36E19F;
    border-radius: 50%;
    width: 1rem;
    height: 1rem;
    background-color: #ffffff;
  }
  .p-timeline .p-timeline-event-connector {
    background-color: #e5e7eb;
  }
  .p-timeline.p-timeline-vertical .p-timeline-event-opposite,
  .p-timeline.p-timeline-vertical .p-timeline-event-content {
    padding: 0 1rem;
  }
  .p-timeline.p-timeline-vertical .p-timeline-event-connector {
    width: 2px;
  }
  .p-timeline.p-timeline-horizontal .p-timeline-event-opposite,
  .p-timeline.p-timeline-horizontal .p-timeline-event-content {
    padding: 1rem 0;
  }
  .p-timeline.p-timeline-horizontal .p-timeline-event-connector {
    height: 2px;
  }
  .p-accordion .p-accordion-header .p-accordion-header-link {
    padding: 1.25rem;
    border: 1px solid #e5e7eb;
    color: #6b7280;
    background: #f9fafb;
    font-weight: 700;
    border-radius: 6px;
    transition: box-shadow 0.2s;
  }
  .p-accordion .p-accordion-header .p-accordion-header-link .p-accordion-toggle-icon {
    margin-right: 0.5rem;
  }
  .p-accordion .p-accordion-header:not(.p-disabled) .p-accordion-header-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-accordion .p-accordion-header:not(.p-highlight):not(.p-disabled):hover .p-accordion-header-link {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #374151;
  }
  .p-accordion .p-accordion-header:not(.p-disabled).p-highlight .p-accordion-header-link {
    background: #f9fafb;
    border-color: #e5e7eb;
    color: #374151;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
  }
  .p-accordion .p-accordion-header:not(.p-disabled).p-highlight:hover .p-accordion-header-link {
    border-color: #e5e7eb;
    background: #f3f4f6;
    color: #374151;
  }
  .p-accordion .p-accordion-content {
    padding: 1.25rem;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-accordion .p-accordion-tab {
    margin-bottom: 4px;
  }
  .p-card {
    background: #ffffff;
    color: #4b5563;
    box-shadow: 0 2px 1px -1px rgba(0, 0, 0, 0.2), 0 1px 1px 0 rgba(0, 0, 0, 0.14), 0 1px 3px 0 rgba(0, 0, 0, 0.12);
    border-radius: 6px;
  }
  .p-card .p-card-body {
    padding: 1.25rem;
  }
  .p-card .p-card-title {
    font-size: 1.5rem;
    font-weight: 700;
    margin-bottom: 0.5rem;
  }
  .p-card .p-card-subtitle {
    font-weight: 400;
    margin-bottom: 0.5rem;
    color: #6b7280;
  }
  .p-card .p-card-content {
    padding: 1.25rem 0;
  }
  .p-card .p-card-footer {
    padding: 1.25rem 0 0 0;
  }
  .p-fieldset {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    border-radius: 6px;
  }
  .p-fieldset .p-fieldset-legend {
    padding: 1.25rem;
    border: 1px solid #e5e7eb;
    color: #374151;
    background: #f9fafb;
    font-weight: 700;
    border-radius: 6px;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend {
    padding: 0;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a {
    padding: 1.25rem;
    color: #374151;
    border-radius: 6px;
    transition: box-shadow 0.2s;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a .p-fieldset-toggler {
    margin-right: 0.5rem;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend a:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-fieldset.p-fieldset-toggleable .p-fieldset-legend:hover {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #374151;
  }
  .p-fieldset .p-fieldset-content {
    padding: 1.25rem;
  }
  .p-divider .p-divider-content {
    background-color: #ffffff;
  }
  .p-divider.p-divider-horizontal {
    margin: 1.25rem 0;
    padding: 0 1.25rem;
  }
  .p-divider.p-divider-horizontal:before {
    border-top: 1px #e5e7eb;
  }
  .p-divider.p-divider-horizontal .p-divider-content {
    padding: 0 0.5rem;
  }
  .p-divider.p-divider-vertical {
    margin: 0 1.25rem;
    padding: 1.25rem 0;
  }
  .p-divider.p-divider-vertical:before {
    border-left: 1px #e5e7eb;
  }
  .p-divider.p-divider-vertical .p-divider-content {
    padding: 0.5rem 0;
  }
  .p-panel .p-panel-header {
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
    background: #f9fafb;
    color: #374151;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-panel .p-panel-header .p-panel-title {
    font-weight: 700;
  }
  .p-panel .p-panel-header .p-panel-header-icon {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-panel .p-panel-header .p-panel-header-icon:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-panel .p-panel-header .p-panel-header-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-panel.p-panel-toggleable .p-panel-header {
    padding: 0.75rem 1.25rem;
  }
  .p-panel .p-panel-content {
    padding: 1.25rem;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
    border-top: 0 none;
  }
  .p-panel .p-panel-footer {
    padding: 0.75rem 1.25rem;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    border-top: 0 none;
  }
  .p-splitter {
    border: 1px solid #e5e7eb;
    background: #ffffff;
    border-radius: 6px;
    color: #4b5563;
  }
  .p-splitter .p-splitter-gutter {
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    background: #f9fafb;
  }
  .p-splitter .p-splitter-gutter .p-splitter-gutter-handle {
    background: #e5e7eb;
  }
  .p-splitter .p-splitter-gutter .p-splitter-gutter-handle:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-splitter .p-splitter-gutter-resizing {
    background: #e5e7eb;
  }
  .p-stepper .p-stepper-nav {
    display: flex;
    justify-content: space-between;
    margin: 0;
    padding: 0;
    list-style-type: none;
  }
  .p-stepper .p-stepper-header {
    padding: 0.5rem;
  }
  .p-stepper .p-stepper-header .p-stepper-action {
    transition: box-shadow 0.2s;
    border-radius: 6px;
    background: #ffffff;
    outline-color: transparent;
  }
  .p-stepper .p-stepper-header .p-stepper-action .p-stepper-number {
    color: #4b5563;
    border: 1px solid #f3f4f6;
    border-width: 2px;
    background: #ffffff;
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-stepper .p-stepper-header .p-stepper-action .p-stepper-title {
    margin-left: 0.5rem;
    color: #6b7280;
    font-weight: 700;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-stepper .p-stepper-header .p-stepper-action:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-title {
    color: #4b5563;
  }
  .p-stepper .p-stepper-header:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-stepper .p-stepper-header:has(~ .p-highlight) .p-stepper-separator {
    background-color: #36E19F;
  }
  .p-stepper .p-stepper-panels {
    background: #ffffff;
    padding: 1.25rem;
    color: #4b5563;
  }
  .p-stepper .p-stepper-separator {
    background-color: #e5e7eb;
    width: 100%;
    height: 2px;
    margin-inline-start: 1rem;
    transition: box-shadow 0.2s;
  }
  .p-stepper.p-stepper-vertical {
    display: flex;
    flex-direction: column;
  }
  .p-stepper.p-stepper-vertical .p-stepper-toggleable-content {
    display: flex;
    flex: 1 1 auto;
    background: #ffffff;
    color: #4b5563;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel {
    display: flex;
    flex-direction: column;
    flex: initial;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel.p-stepper-panel-active {
    flex: 1 1 auto;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-header {
    flex: initial;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-content {
    width: 100%;
    padding-left: 1rem;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel .p-stepper-separator {
    flex: 0 0 auto;
    width: 2px;
    height: auto;
    margin-inline-start: calc(1.75rem + 2px);
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel:has(~ .p-stepper-panel-active) .p-stepper-separator {
    background-color: #36E19F;
  }
  .p-stepper.p-stepper-vertical .p-stepper-panel:last-of-type .p-stepper-content {
    padding-left: 3rem;
  }
  .p-scrollpanel .p-scrollpanel-bar {
    background: #f9fafb;
    border: 0 none;
  }
  .p-scrollpanel .p-scrollpanel-bar:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-tabview .p-tabview-nav {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-width: 0 0 2px 0;
  }
  .p-tabview .p-tabview-nav li {
    margin-right: 0;
  }
  .p-tabview .p-tabview-nav li .p-tabview-nav-link {
    border: solid #e5e7eb;
    border-width: 0 0 2px 0;
    border-color: transparent transparent #e5e7eb transparent;
    background: #ffffff;
    color: #6b7280;
    padding: 1.25rem;
    font-weight: 700;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    transition: box-shadow 0.2s;
    margin: 0 0 -2px 0;
  }
  .p-tabview .p-tabview-nav li .p-tabview-nav-link:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem #70ffcb;
  }
  .p-tabview .p-tabview-nav li:not(.p-highlight):not(.p-disabled):hover .p-tabview-nav-link {
    background: #ffffff;
    border-color: #9ca3af;
    color: #6b7280;
  }
  .p-tabview .p-tabview-nav li.p-highlight .p-tabview-nav-link {
    background: #ffffff;
    border-color: #36E19F;
    color: #36E19F;
  }
  .p-tabview .p-tabview-close {
    margin-left: 0.5rem;
  }
  .p-tabview .p-tabview-nav-btn.p-link {
    background: #ffffff;
    color: #36E19F;
    width: 3rem;
    box-shadow: 0 3px 1px -2px rgba(0, 0, 0, 0.2), 0 2px 2px 0 rgba(0, 0, 0, 0.14), 0 1px 5px 0 rgba(0, 0, 0, 0.12);
    border-radius: 0;
  }
  .p-tabview .p-tabview-nav-btn.p-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem #70ffcb;
  }
  .p-tabview .p-tabview-panels {
    background: #ffffff;
    padding: 1.25rem;
    border: 0 none;
    color: #4b5563;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-toolbar {
    background: #f9fafb;
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
    border-radius: 6px;
    gap: 0.5rem;
  }
  .p-toolbar .p-toolbar-separator {
    margin: 0 0.5rem;
  }
  .p-confirm-popup {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  }
  .p-confirm-popup .p-confirm-popup-content {
    padding: 1.25rem;
  }
  .p-confirm-popup .p-confirm-popup-footer {
    text-align: right;
    padding: 0 1.25rem 1.25rem 1.25rem;
  }
  .p-confirm-popup .p-confirm-popup-footer button {
    margin: 0 0.5rem 0 0;
    width: auto;
  }
  .p-confirm-popup .p-confirm-popup-footer button:last-child {
    margin: 0;
  }
  .p-confirm-popup:after {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
  }
  .p-confirm-popup:before {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: rgb(242.25, 242.25, 242.25);
  }
  .p-confirm-popup.p-confirm-popup-flipped:after {
    border-top-color: #ffffff;
  }
  .p-confirm-popup.p-confirm-popup-flipped:before {
    border-top-color: #ffffff;
  }
  .p-confirm-popup .p-confirm-popup-icon {
    font-size: 1.5rem;
  }
  .p-confirm-popup .p-confirm-popup-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-confirm-popup .p-confirm-popup-message {
    margin-left: 1rem;
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  @keyframes ds-skeleton-loading {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }
  @keyframes ds-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  .p-dialog {
    border-radius: 1rem;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.1);
    border: 0 none;
    backdrop-filter: blur(20px);
    background: rgba(255, 255, 255, 0.95);
    transform: scale(0.9);
    opacity: 0;
    transition: all 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
  .p-dialog.p-dialog-enter-done {
    transform: scale(1);
    opacity: 1;
  }
  .p-dialog.p-dialog-exit {
    transform: scale(0.95);
    opacity: 0;
  }
  .p-dialog .p-dialog-header {
    border-bottom: 0 none;
    background: linear-gradient(135deg, #ffffff 0%, white 100%);
    color: #374151;
    padding: 1.5rem;
    border-top-right-radius: 1rem;
    border-top-left-radius: 1rem;
    position: relative;
  }
  .p-dialog .p-dialog-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 1.5rem;
    right: 1.5rem;
    height: 1px;
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  }
  .p-dialog .p-dialog-header .p-dialog-title {
    font-weight: 600;
    font-size: 1.25rem;
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-right: 0.5rem;
    border-radius: 9999px;
    transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:hover {
    background: rgba(54, 225, 159, 0.1);
    transform: scale(1.1);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:last-child {
    margin-right: 0;
  }
  .p-dialog .p-dialog-content {
    background: #ffffff;
    color: #4b5563;
    padding: 2rem;
    backdrop-filter: blur(10px);
    min-height: 4rem;
  }
  .p-dialog .p-dialog-content:last-of-type {
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
  }
  .p-dialog .p-dialog-footer {
    border-top: 1px solid rgba(229, 231, 235, 0.5);
    background: linear-gradient(135deg, #ffffff 0%, white 100%);
    color: #4b5563;
    padding: 1.5rem;
    text-align: right;
    border-bottom-right-radius: 1rem;
    border-bottom-left-radius: 1rem;
    backdrop-filter: blur(10px);
  }
  .p-dialog .p-dialog-footer button {
    margin: 0 0.75rem 0 0;
    width: auto;
  }
  .p-dialog .p-dialog-footer button:last-child {
    margin-right: 0;
  }
  .p-dialog.p-dialog-maximized .p-dialog-header, .p-dialog.p-dialog-maximized .p-dialog-content:last-of-type {
    border-radius: 0;
  }
  .p-dialog.p-confirm-dialog .p-confirm-dialog-icon {
    font-size: 2rem;
  }
  .p-dialog.p-confirm-dialog .p-confirm-dialog-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-dialog.p-confirm-dialog .p-confirm-dialog-message {
    margin-left: 1rem;
  }
  .p-overlaypanel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  }
  .p-overlaypanel .p-overlaypanel-content {
    padding: 1.25rem;
  }
  .p-overlaypanel .p-overlaypanel-close {
    background: #787AF2;
    color: #FFFFFF;
    width: 2rem;
    height: 2rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
    position: absolute;
    top: -1rem;
    right: -1rem;
  }
  .p-overlaypanel .p-overlaypanel-close:enabled:hover {
    background: #5b5fc7;
    color: #FFFFFF;
  }
  .p-overlaypanel:after {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: #ffffff;
  }
  .p-overlaypanel:before {
    border: solid transparent;
    border-color: rgba(255, 255, 255, 0);
    border-bottom-color: rgb(242.25, 242.25, 242.25);
  }
  .p-overlaypanel.p-overlaypanel-flipped:after {
    border-top-color: #ffffff;
  }
  .p-overlaypanel.p-overlaypanel-flipped:before {
    border-top-color: #ffffff;
  }
  .p-sidebar {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
  }
  .p-sidebar .p-sidebar-header {
    padding: 1.25rem;
  }
  .p-sidebar .p-sidebar-header .p-sidebar-close,
  .p-sidebar .p-sidebar-header .p-sidebar-icon {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border: 0 none;
    background: transparent;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-sidebar .p-sidebar-header .p-sidebar-close:enabled:hover,
  .p-sidebar .p-sidebar-header .p-sidebar-icon:enabled:hover {
    color: #374151;
    border-color: transparent;
    background: #f3f4f6;
  }
  .p-sidebar .p-sidebar-header .p-sidebar-close:focus-visible,
  .p-sidebar .p-sidebar-header .p-sidebar-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-sidebar .p-sidebar-header + .p-sidebar-content {
    padding-top: 0;
  }
  .p-sidebar .p-sidebar-content {
    padding: 1.25rem;
  }
  .p-tooltip .p-tooltip-text {
    background: #4b5563;
    color: #ffffff;
    padding: 0.75rem 0.75rem;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    border-radius: 6px;
  }
  .p-tooltip.p-tooltip-right .p-tooltip-arrow {
    border-right-color: #4b5563;
  }
  .p-tooltip.p-tooltip-left .p-tooltip-arrow {
    border-left-color: #4b5563;
  }
  .p-tooltip.p-tooltip-top .p-tooltip-arrow {
    border-top-color: #4b5563;
  }
  .p-tooltip.p-tooltip-bottom .p-tooltip-arrow {
    border-bottom-color: #4b5563;
  }
  .p-fileupload .p-fileupload-buttonbar {
    background: #f9fafb;
    padding: 1.25rem;
    border: 1px solid #e5e7eb;
    color: #374151;
    border-bottom: 0 none;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    gap: 0.5rem;
  }
  .p-fileupload .p-fileupload-buttonbar .p-button {
    margin-right: 0.5rem;
  }
  .p-fileupload .p-fileupload-content {
    background: #ffffff;
    padding: 2rem 1rem;
    border: 1px solid #e5e7eb;
    color: #4b5563;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-fileupload .p-progressbar {
    height: 0.25rem;
  }
  .p-fileupload .p-fileupload-row > div {
    padding: 1rem 1rem;
  }
  .p-fileupload.p-fileupload-advanced .p-message {
    margin-top: 0;
  }
  .p-breadcrumb {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    padding: 1rem;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link {
    transition: box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-breadcrumb .p-breadcrumb-list li .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
  }
  .p-breadcrumb .p-breadcrumb-list li.p-menuitem-separator {
    margin: 0 0.5rem 0 0.5rem;
    color: #4b5563;
  }
  .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-text {
    color: #4b5563;
  }
  .p-breadcrumb .p-breadcrumb-list li:last-child .p-menuitem-icon {
    color: #6b7280;
  }
  .p-contextmenu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    border-radius: 6px;
    width: 12.5rem;
  }
  .p-contextmenu .p-contextmenu-root-list {
    outline: 0 none;
  }
  .p-contextmenu .p-submenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    border-radius: 6px;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-contextmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-contextmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-contextmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-contextmenu .p-menuitem-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-contextmenu .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-contextmenu .p-submenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-dock .p-dock-list-container {
    background: rgba(255, 255, 255, 0.1);
    border: 1px solid rgba(255, 255, 255, 0.2);
    padding: 0.5rem 0.5rem;
    border-radius: 0.5rem;
  }
  .p-dock .p-dock-list-container .p-dock-list {
    outline: 0 none;
  }
  .p-dock .p-dock-item {
    padding: 0.5rem;
    border-radius: 6px;
  }
  .p-dock .p-dock-item.p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.15rem #70ffcb;
  }
  .p-dock .p-dock-action {
    width: 4rem;
    height: 4rem;
  }
  .p-dock.p-dock-top .p-dock-item-second-prev,
  .p-dock.p-dock-top .p-dock-item-second-next, .p-dock.p-dock-bottom .p-dock-item-second-prev,
  .p-dock.p-dock-bottom .p-dock-item-second-next {
    margin: 0 0.9rem;
  }
  .p-dock.p-dock-top .p-dock-item-prev,
  .p-dock.p-dock-top .p-dock-item-next, .p-dock.p-dock-bottom .p-dock-item-prev,
  .p-dock.p-dock-bottom .p-dock-item-next {
    margin: 0 1.3rem;
  }
  .p-dock.p-dock-top .p-dock-item-current, .p-dock.p-dock-bottom .p-dock-item-current {
    margin: 0 1.5rem;
  }
  .p-dock.p-dock-left .p-dock-item-second-prev,
  .p-dock.p-dock-left .p-dock-item-second-next, .p-dock.p-dock-right .p-dock-item-second-prev,
  .p-dock.p-dock-right .p-dock-item-second-next {
    margin: 0.9rem 0;
  }
  .p-dock.p-dock-left .p-dock-item-prev,
  .p-dock.p-dock-left .p-dock-item-next, .p-dock.p-dock-right .p-dock-item-prev,
  .p-dock.p-dock-right .p-dock-item-next {
    margin: 1.3rem 0;
  }
  .p-dock.p-dock-left .p-dock-item-current, .p-dock.p-dock-right .p-dock-item-current {
    margin: 1.5rem 0;
  }
  .p-dock.p-dock-mobile.p-dock-top .p-dock-list-container, .p-dock.p-dock-mobile.p-dock-bottom .p-dock-list-container {
    overflow-x: auto;
    width: 100%;
  }
  .p-dock.p-dock-mobile.p-dock-top .p-dock-list-container .p-dock-list, .p-dock.p-dock-mobile.p-dock-bottom .p-dock-list-container .p-dock-list {
    margin: 0 auto;
  }
  .p-dock.p-dock-mobile.p-dock-left .p-dock-list-container, .p-dock.p-dock-mobile.p-dock-right .p-dock-list-container {
    overflow-y: auto;
    height: 100%;
  }
  .p-dock.p-dock-mobile.p-dock-left .p-dock-list-container .p-dock-list, .p-dock.p-dock-mobile.p-dock-right .p-dock-list-container .p-dock-list {
    margin: auto 0;
  }
  .p-dock.p-dock-mobile .p-dock-list .p-dock-item {
    transform: none;
    margin: 0;
  }
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-top .p-dock-item-current, .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-bottom .p-dock-item-current, .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-left .p-dock-item-current, .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-second-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-second-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-prev,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-next,
  .p-dock.p-dock-mobile.p-dock-magnification.p-dock-right .p-dock-item-current {
    transform: none;
    margin: 0;
  }
  .p-megamenu {
    padding: 0.5rem;
    background: #f9fafb;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
  }
  .p-megamenu .p-megamenu-root-list {
    outline: 0 none;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-megamenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-megamenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-megamenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-megamenu .p-megamenu-panel {
    background: #ffffff;
    color: #4b5563;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-megamenu .p-submenu-header {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: #374151;
    background: #ffffff;
    font-weight: 700;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-megamenu .p-submenu-list {
    padding: 0.5rem 0;
    width: 12.5rem;
  }
  .p-megamenu .p-submenu-list .p-menuitem-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-megamenu.p-megamenu-vertical {
    width: 12.5rem;
    padding: 0.5rem 0;
  }
  .p-megamenu .p-megamenu-button {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-megamenu .p-megamenu-button:hover {
    color: #6b7280;
    background: #f3f4f6;
  }
  .p-megamenu .p-megamenu-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
    margin-left: 0.5rem;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-horizontal .p-megamenu-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menu-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem {
    width: 100%;
    position: static;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {
    margin-left: auto;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-180deg);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list {
    width: 100%;
    position: static;
    box-shadow: none;
    border: 0 none;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-submenu-icon {
    transition: transform 0.2s;
    transform: rotate(90deg);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-90deg);
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list .p-menuitem {
    width: 100%;
    position: static;
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  :root {
    --ds-primary: #36E19F;
    --ds-primary-light: #70ffcb;
    --ds-primary-dark: #0891b2;
    --ds-primary-darker: #0e7490;
    --ds-success: #10b981;
    --ds-warning: #f59e0b;
    --ds-error: #ef4444;
    --ds-info: #3b82f6;
    --ds-space-1: 0.25rem;
    --ds-space-2: 0.5rem;
    --ds-space-3: 0.75rem;
    --ds-space-4: 1rem;
    --ds-space-5: 1.25rem;
    --ds-space-6: 1.5rem;
    --ds-space-8: 2rem;
    --ds-space-12: 3rem;
    --ds-space-16: 4rem;
    --ds-radius-sm: 0.125rem;
    --ds-radius-base: 0.25rem;
    --ds-radius-md: 0.375rem;
    --ds-radius-lg: 0.5rem;
    --ds-radius-xl: 0.75rem;
    --ds-radius-full: 9999px;
    --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
    --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
    --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
    --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
    --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
    --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
    --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
    --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
    --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  }
  @keyframes ds-skeleton-loading {
    0% {
      background-position: 200% 0;
    }
    100% {
      background-position: -200% 0;
    }
  }
  @keyframes ds-pulse {
    0%, 100% {
      opacity: 1;
    }
    50% {
      opacity: 0.5;
    }
  }
  .p-menu {
    padding: 0.5rem;
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    border-radius: 0.75rem;
    width: 12.5rem;
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
    backdrop-filter: blur(10px);
    overflow: hidden;
    animation: menuSlideIn 300ms cubic-bezier(0, 0, 0.2, 1);
  }
  @keyframes menuSlideIn {
    from {
      opacity: 0;
      transform: translateY(-10px) scale(0.95);
    }
    to {
      opacity: 1;
      transform: translateY(0) scale(1);
    }
  }
  .p-menu .p-menuitem {
    border-radius: 0.375rem;
    margin: 0.25rem;
    overflow: hidden;
    position: relative;
    transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
  }
  .p-menu .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-menu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-menu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-menu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-menu .p-menuitem::before {
    content: "";
    position: absolute;
    top: 0;
    left: -100%;
    width: 100%;
    height: 100%;
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    opacity: 0.1;
    transition: left 300ms cubic-bezier(0, 0, 0.2, 1);
    z-index: 0;
  }
  .p-menu .p-menuitem:hover {
    transform: translateX(4px);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  }
  .p-menu .p-menuitem:hover::before {
    left: 0;
  }
  .p-menu .p-menuitem .p-menuitem-content {
    position: relative;
    z-index: 1;
  }
  .p-menu.p-menu-overlay {
    background: rgba(255, 255, 255, 0.95);
    border: 0 none;
    box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
    backdrop-filter: blur(20px);
    animation: overlayMenuAppear 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
  }
  @keyframes overlayMenuAppear {
    0% {
      opacity: 0;
      transform: scale(0.8) translateY(-20px);
    }
    50% {
      transform: scale(1.05) translateY(-5px);
    }
    100% {
      opacity: 1;
      transform: scale(1) translateY(0);
    }
  }
  .p-menu .p-submenu-header {
    margin: 0;
    padding: 0.75rem 1rem;
    color: #374151;
    background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
    font-weight: 600;
    border-radius: 0.5rem;
    position: relative;
    overflow: hidden;
  }
  .p-menu .p-submenu-header::after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 2px;
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  }
  .p-menu .p-menu-separator {
    border: none;
    height: 1px;
    background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
    opacity: 0.3;
    margin: 0.5rem 1rem;
    border-radius: 9999px;
  }
  .p-menubar {
    padding: 0.5rem;
    background: #f9fafb;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
  }
  .p-menubar .p-menubar-root-list {
    outline: 0 none;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link {
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
    margin-left: 0.5rem;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menubar-root-list > .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-menubar .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-menubar .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-menubar .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-menubar .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-menubar .p-submenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    width: 12.5rem;
  }
  .p-menubar .p-submenu-list .p-menuitem-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-menubar .p-submenu-list .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-button {
    width: 2rem;
    height: 2rem;
    color: #6b7280;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-menubar.p-menubar-mobile .p-menubar-button:hover {
    color: #6b7280;
    background: #f3f4f6;
  }
  .p-menubar.p-menubar-mobile .p-menubar-button:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    margin-left: auto;
    transition: transform 0.2s;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-menuitem.p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-180deg);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-submenu-icon {
    transition: transform 0.2s;
    transform: rotate(90deg);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-content > .p-menuitem-link > .p-submenu-icon {
    transform: rotate(-90deg);
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li a {
    padding-left: 2.25rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li a {
    padding-left: 3.75rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li ul li a {
    padding-left: 5.25rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li ul li ul li a {
    padding-left: 6.75rem;
  }
  .p-menubar.p-menubar-mobile .p-menubar-root-list ul li ul li ul li ul li ul li a {
    padding-left: 8.25rem;
  }
  @media screen and (max-width: 960px) {
    .p-menubar {
      position: relative;
    }
    .p-menubar .p-menubar-button {
      display: flex;
      width: 2rem;
      height: 2rem;
      color: #6b7280;
      border-radius: 50%;
      transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    }
    .p-menubar .p-menubar-button:hover {
      color: #6b7280;
      background: #f3f4f6;
    }
    .p-menubar .p-menubar-button:focus {
      outline: 0 none;
      outline-offset: 0;
      box-shadow: 0 0 0 0.2rem #70ffcb;
    }
    .p-menubar .p-menubar-root-list {
      position: absolute;
      display: none;
      padding: 0.5rem 0;
      background: #ffffff;
      border: 0 none;
      box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
      width: 100%;
    }
    .p-menubar .p-menubar-root-list .p-menu-separator {
      border-top: 1px solid #e5e7eb;
      margin: 0.25rem 0;
    }
    .p-menubar .p-menubar-root-list .p-submenu-icon {
      font-size: 0.875rem;
    }
    .p-menubar .p-menubar-root-list .p-submenu-icon.p-icon {
      width: 0.875rem;
      height: 0.875rem;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem {
      width: 100%;
      position: static;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content {
      color: #4b5563;
      transition: box-shadow 0.2s;
      border-radius: 0;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link {
      color: #4b5563;
      padding: 0.75rem 1.25rem;
      user-select: none;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #4b5563;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
      color: #6b7280;
      margin-right: 0.5rem;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
      color: #6b7280;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content {
      color: #0e7490;
      background: #ecfeff;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #0e7490;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
      color: #0e7490;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
      background: rgba(54, 225, 159, 0.24);
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
      color: #4b5563;
      background: #e5e7eb;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #4b5563;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
      color: #4b5563;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
      color: #4b5563;
      background: #f3f4f6;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
      color: #4b5563;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
      color: #6b7280;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link > .p-submenu-icon {
      margin-left: auto;
      transition: transform 0.2s;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem.p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
      transform: rotate(-180deg);
    }
    .p-menubar .p-menubar-root-list .p-submenu-list {
      width: 100%;
      position: static;
      box-shadow: none;
      border: 0 none;
    }
    .p-menubar .p-menubar-root-list .p-submenu-list .p-submenu-icon {
      transition: transform 0.2s;
      transform: rotate(90deg);
    }
    .p-menubar .p-menubar-root-list .p-submenu-list .p-menuitem-active > .p-menuitem-link > .p-submenu-icon {
      transform: rotate(-90deg);
    }
    .p-menubar .p-menubar-root-list .p-menuitem {
      width: 100%;
      position: static;
    }
    .p-menubar .p-menubar-root-list ul li a {
      padding-left: 2.25rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li a {
      padding-left: 3.75rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li a {
      padding-left: 5.25rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li ul li a {
      padding-left: 6.75rem;
    }
    .p-menubar .p-menubar-root-list ul li ul li ul li ul li ul li a {
      padding-left: 8.25rem;
    }
    .p-menubar.p-menubar-mobile-active .p-menubar-root-list {
      display: flex;
      flex-direction: column;
      top: 100%;
      left: 0;
      z-index: 1;
    }
  }
  .p-panelmenu .p-panelmenu-header {
    outline: 0 none;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content {
    border: 1px solid #e5e7eb;
    color: #6b7280;
    background: #f9fafb;
    border-radius: 6px;
    transition: box-shadow 0.2s;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-link {
    color: #6b7280;
    padding: 1.25rem;
    font-weight: 700;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-link .p-submenu-icon {
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-header .p-panelmenu-header-content .p-panelmenu-header-link .p-menuitem-icon {
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-disabled):focus-visible .p-panelmenu-header-content {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem #70ffcb;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-highlight):not(.p-disabled):hover .p-panelmenu-header-content {
    background: #f3f4f6;
    border-color: #e5e7eb;
    color: #374151;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight .p-panelmenu-header-content {
    background: #f9fafb;
    border-color: #e5e7eb;
    color: #374151;
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    margin-bottom: 0;
  }
  .p-panelmenu .p-panelmenu-header:not(.p-disabled).p-highlight:hover .p-panelmenu-header-content {
    border-color: #e5e7eb;
    background: #f3f4f6;
    color: #374151;
  }
  .p-panelmenu .p-panelmenu-content {
    padding: 0.5rem 0;
    border: 1px solid #e5e7eb;
    background: #ffffff;
    color: #4b5563;
    border-top: 0;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-panelmenu .p-panelmenu-content .p-panelmenu-root-list {
    outline: 0 none;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-panelmenu .p-panelmenu-content .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    margin-right: 0.5rem;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-panelmenu .p-panelmenu-content .p-submenu-list:not(.p-panelmenu-root-list) {
    padding: 0 0 0 1rem;
  }
  .p-panelmenu .p-panelmenu-panel {
    margin-bottom: 4px;
  }
  .p-slidemenu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    width: 12.5rem;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-slidemenu .p-menuitem-link > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-slidemenu .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-slidemenu .p-menuitem-link:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-slidemenu.p-slidemenu-overlay {
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-slidemenu .p-slidemenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link {
    background: #ecfeff;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text {
    color: #0e7490;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon, .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-icon {
    color: #0e7490;
  }
  .p-slidemenu .p-slidemenu-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-slidemenu .p-slidemenu-icon {
    font-size: 0.875rem;
  }
  .p-slidemenu .p-slidemenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-slidemenu .p-slidemenu-backward {
    padding: 0.75rem 1.25rem;
    color: #4b5563;
  }
  .p-steps .p-steps-item .p-menuitem-link {
    background: transparent;
    transition: box-shadow 0.2s;
    border-radius: 6px;
    background: #ffffff;
  }
  .p-steps .p-steps-item .p-menuitem-link .p-steps-number {
    color: #4b5563;
    border: 1px solid #f3f4f6;
    background: #ffffff;
    min-width: 2rem;
    height: 2rem;
    line-height: 2rem;
    font-size: 1.143rem;
    z-index: 1;
    border-radius: 50%;
  }
  .p-steps .p-steps-item .p-menuitem-link .p-steps-title {
    margin-top: 0.5rem;
    color: #6b7280;
  }
  .p-steps .p-steps-item .p-menuitem-link:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-steps .p-steps-item.p-highlight .p-steps-number {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-steps .p-steps-item.p-highlight .p-steps-title {
    font-weight: 700;
    color: #4b5563;
  }
  .p-steps .p-steps-item:before {
    content: " ";
    border-top: 1px solid #e5e7eb;
    width: 100%;
    top: 50%;
    left: 0;
    display: block;
    position: absolute;
    margin-top: -1rem;
  }
  .p-tabmenu .p-tabmenu-nav {
    background: #ffffff;
    border: 1px solid #e5e7eb;
    border-width: 0 0 2px 0;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem {
    margin-right: 0;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link {
    border: solid #e5e7eb;
    border-width: 0 0 2px 0;
    border-color: transparent transparent #e5e7eb transparent;
    background: #ffffff;
    color: #6b7280;
    padding: 1.25rem;
    font-weight: 700;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
    transition: box-shadow 0.2s;
    margin: 0 0 -2px 0;
    height: calc(100% + 2px);
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link .p-menuitem-icon {
    margin-right: 0.5rem;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link:not(.p-disabled):focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: inset 0 0 0 0.2rem #70ffcb;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem:not(.p-highlight):not(.p-disabled):hover .p-menuitem-link {
    background: #ffffff;
    border-color: #9ca3af;
    color: #6b7280;
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem.p-highlight .p-menuitem-link {
    background: #ffffff;
    border-color: #36E19F;
    color: #36E19F;
  }
  .p-tieredmenu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    width: 12.5rem;
  }
  .p-tieredmenu.p-tieredmenu-overlay {
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-tieredmenu .p-tieredmenu-root-list {
    outline: 0 none;
  }
  .p-tieredmenu .p-submenu-list {
    padding: 0.5rem 0;
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content {
    color: #4b5563;
    transition: box-shadow 0.2s;
    border-radius: 0;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link {
    color: #4b5563;
    padding: 0.75rem 1.25rem;
    user-select: none;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
    color: #6b7280;
    margin-right: 0.5rem;
  }
  .p-tieredmenu .p-menuitem > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content {
    color: #0e7490;
    background: #ecfeff;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #0e7490;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #0e7490;
  }
  .p-tieredmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(54, 225, 159, 0.24);
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content {
    color: #4b5563;
    background: #e5e7eb;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-menuitem-icon,
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled).p-focus > .p-menuitem-content .p-menuitem-link .p-submenu-icon {
    color: #4b5563;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover {
    color: #4b5563;
    background: #f3f4f6;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-text {
    color: #4b5563;
  }
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-menuitem-icon,
  .p-tieredmenu .p-menuitem:not(.p-highlight):not(.p-disabled) > .p-menuitem-content:hover .p-menuitem-link .p-submenu-icon {
    color: #6b7280;
  }
  .p-tieredmenu .p-menuitem-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .p-tieredmenu .p-submenu-icon {
    font-size: 0.875rem;
  }
  .p-tieredmenu .p-submenu-icon.p-icon {
    width: 0.875rem;
    height: 0.875rem;
  }
  .p-inline-message {
    padding: 0.75rem 0.75rem;
    margin: 0;
    border-radius: 6px;
  }
  .p-inline-message.p-inline-message-info {
    background: rgba(219, 234, 254, 0.7);
    border: solid #3b82f6;
    border-width: 0px;
    color: #3b82f6;
  }
  .p-inline-message.p-inline-message-info .p-inline-message-icon {
    color: #3b82f6;
  }
  .p-inline-message.p-inline-message-success {
    background: rgba(228, 248, 240, 0.7);
    border: solid #1ea97c;
    border-width: 0px;
    color: #1ea97c;
  }
  .p-inline-message.p-inline-message-success .p-inline-message-icon {
    color: #1ea97c;
  }
  .p-inline-message.p-inline-message-warn {
    background: rgba(255, 242, 226, 0.7);
    border: solid #cc8925;
    border-width: 0px;
    color: #cc8925;
  }
  .p-inline-message.p-inline-message-warn .p-inline-message-icon {
    color: #cc8925;
  }
  .p-inline-message.p-inline-message-error {
    background: rgba(255, 231, 230, 0.7);
    border: solid #ff5757;
    border-width: 0px;
    color: #ff5757;
  }
  .p-inline-message.p-inline-message-error .p-inline-message-icon {
    color: #ff5757;
  }
  .p-inline-message .p-inline-message-icon {
    font-size: 1rem;
    margin-right: 0.5rem;
  }
  .p-inline-message .p-inline-message-icon.p-icon {
    width: 1rem;
    height: 1rem;
  }
  .p-inline-message .p-inline-message-text {
    font-size: 1rem;
  }
  .p-inline-message.p-inline-message-icon-only .p-inline-message-icon {
    margin-right: 0;
  }
  .p-message {
    margin: 1rem 0;
    border-radius: 6px;
  }
  .p-message .p-message-wrapper {
    padding: 1.25rem 1.75rem;
  }
  .p-message .p-message-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: transparent;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-message .p-message-close:hover {
    background: rgba(255, 255, 255, 0.5);
  }
  .p-message .p-message-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-message.p-message-info {
    background: rgba(219, 234, 254, 0.7);
    border: solid #3b82f6;
    border-width: 0 0 0 6px;
    color: #3b82f6;
  }
  .p-message.p-message-info .p-message-icon {
    color: #3b82f6;
  }
  .p-message.p-message-info .p-message-close {
    color: #3b82f6;
  }
  .p-message.p-message-success {
    background: rgba(228, 248, 240, 0.7);
    border: solid #1ea97c;
    border-width: 0 0 0 6px;
    color: #1ea97c;
  }
  .p-message.p-message-success .p-message-icon {
    color: #1ea97c;
  }
  .p-message.p-message-success .p-message-close {
    color: #1ea97c;
  }
  .p-message.p-message-warn {
    background: rgba(255, 242, 226, 0.7);
    border: solid #cc8925;
    border-width: 0 0 0 6px;
    color: #cc8925;
  }
  .p-message.p-message-warn .p-message-icon {
    color: #cc8925;
  }
  .p-message.p-message-warn .p-message-close {
    color: #cc8925;
  }
  .p-message.p-message-error {
    background: rgba(255, 231, 230, 0.7);
    border: solid #ff5757;
    border-width: 0 0 0 6px;
    color: #ff5757;
  }
  .p-message.p-message-error .p-message-icon {
    color: #ff5757;
  }
  .p-message.p-message-error .p-message-close {
    color: #ff5757;
  }
  .p-message .p-message-text {
    font-size: 1rem;
    font-weight: 500;
  }
  .p-message .p-message-icon {
    font-size: 1.5rem;
    margin-right: 0.5rem;
  }
  .p-message .p-message-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-message .p-message-summary {
    font-weight: 700;
  }
  .p-message .p-message-detail {
    margin-left: 0.5rem;
  }
  .p-toast {
    opacity: 1;
  }
  .p-toast .p-toast-message {
    margin: 0 0 1rem 0;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    border-radius: 6px;
  }
  .p-toast .p-toast-message .p-toast-message-content {
    padding: 1rem;
    border-width: 0 0 0 6px;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-message-text {
    margin: 0 0 0 1rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon {
    font-size: 2rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-message-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-summary {
    font-weight: 700;
  }
  .p-toast .p-toast-message .p-toast-message-content .p-toast-detail {
    margin: 0.5rem 0 0 0;
  }
  .p-toast .p-toast-message .p-toast-icon-close {
    width: 2rem;
    height: 2rem;
    border-radius: 50%;
    background: transparent;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-toast .p-toast-message .p-toast-icon-close:hover {
    background: rgba(255, 255, 255, 0.5);
  }
  .p-toast .p-toast-message .p-toast-icon-close:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-toast .p-toast-message.p-toast-message-info {
    background: rgba(219, 234, 254, 0.7);
    border: solid #3b82f6;
    border-width: 0 0 0 6px;
    color: #3b82f6;
  }
  .p-toast .p-toast-message.p-toast-message-info .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-info .p-toast-icon-close {
    color: #3b82f6;
  }
  .p-toast .p-toast-message.p-toast-message-success {
    background: rgba(228, 248, 240, 0.7);
    border: solid #1ea97c;
    border-width: 0 0 0 6px;
    color: #1ea97c;
  }
  .p-toast .p-toast-message.p-toast-message-success .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-success .p-toast-icon-close {
    color: #1ea97c;
  }
  .p-toast .p-toast-message.p-toast-message-warn {
    background: rgba(255, 242, 226, 0.7);
    border: solid #cc8925;
    border-width: 0 0 0 6px;
    color: #cc8925;
  }
  .p-toast .p-toast-message.p-toast-message-warn .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-warn .p-toast-icon-close {
    color: #cc8925;
  }
  .p-toast .p-toast-message.p-toast-message-error {
    background: rgba(255, 231, 230, 0.7);
    border: solid #ff5757;
    border-width: 0 0 0 6px;
    color: #ff5757;
  }
  .p-toast .p-toast-message.p-toast-message-error .p-toast-message-icon,
  .p-toast .p-toast-message.p-toast-message-error .p-toast-icon-close {
    color: #ff5757;
  }
  .p-galleria .p-galleria-close {
    margin: 0.5rem;
    background: transparent;
    color: #f9fafb;
    width: 4rem;
    height: 4rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
  }
  .p-galleria .p-galleria-close .p-galleria-close-icon {
    font-size: 2rem;
  }
  .p-galleria .p-galleria-close .p-galleria-close-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-galleria .p-galleria-close:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #f9fafb;
  }
  .p-galleria .p-galleria-item-nav {
    background: transparent;
    color: #f9fafb;
    width: 4rem;
    height: 4rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
    margin: 0 0.5rem;
  }
  .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon,
  .p-galleria .p-galleria-item-nav .p-galleria-item-next-icon {
    font-size: 2rem;
  }
  .p-galleria .p-galleria-item-nav .p-galleria-item-prev-icon.p-icon,
  .p-galleria .p-galleria-item-nav .p-galleria-item-next-icon.p-icon {
    width: 2rem;
    height: 2rem;
  }
  .p-galleria .p-galleria-item-nav:not(.p-disabled):hover {
    background: rgba(255, 255, 255, 0.1);
    color: #f9fafb;
  }
  .p-galleria .p-galleria-caption {
    background: rgba(0, 0, 0, 0.5);
    color: #f9fafb;
    padding: 1rem;
  }
  .p-galleria .p-galleria-indicators {
    padding: 1rem;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator button {
    background-color: #d1d5db;
    width: 1rem;
    height: 1rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator button:hover {
    background: #9ca3af;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-galleria.p-galleria-indicators-bottom .p-galleria-indicator, .p-galleria.p-galleria-indicators-top .p-galleria-indicator {
    margin-right: 0.5rem;
  }
  .p-galleria.p-galleria-indicators-left .p-galleria-indicator, .p-galleria.p-galleria-indicators-right .p-galleria-indicator {
    margin-bottom: 0.5rem;
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators {
    background: rgba(0, 0, 0, 0.5);
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button {
    background: rgba(255, 255, 255, 0.4);
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator button:hover {
    background: rgba(255, 255, 255, 0.6);
  }
  .p-galleria.p-galleria-indicator-onitem .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background: #ecfeff;
    color: #0e7490;
  }
  .p-galleria .p-galleria-thumbnail-container {
    background: rgba(0, 0, 0, 0.9);
    padding: 1rem 0.25rem;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev,
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next {
    margin: 0.5rem;
    background-color: transparent;
    color: #f9fafb;
    width: 2rem;
    height: 2rem;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    border-radius: 50%;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-prev:hover,
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-next:hover {
    background: rgba(255, 255, 255, 0.1);
    color: #f9fafb;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content {
    transition: box-shadow 0.2s;
  }
  .p-galleria .p-galleria-thumbnail-container .p-galleria-thumbnail-item-content:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-galleria-mask {
    --maskbg: rgba(0, 0, 0, 0.9);
  }
  .p-image-mask {
    --maskbg: rgba(0, 0, 0, 0.9);
  }
  .p-image-preview-indicator {
    background-color: transparent;
    color: #f8f9fa;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-image-preview-indicator .p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-image-preview-container:hover > .p-image-preview-indicator {
    background-color: rgba(0, 0, 0, 0.5);
  }
  .p-image-toolbar {
    padding: 1rem;
  }
  .p-image-action.p-link {
    color: #f8f9fa;
    background-color: transparent;
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-right: 0.5rem;
  }
  .p-image-action.p-link:last-child {
    margin-right: 0;
  }
  .p-image-action.p-link:hover {
    color: #f8f9fa;
    background-color: rgba(255, 255, 255, 0.1);
  }
  .p-image-action.p-link span {
    font-size: 1.5rem;
  }
  .p-image-action.p-link .p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-avatar {
    background-color: #e5e7eb;
    border-radius: 6px;
  }
  .p-avatar.p-avatar-lg {
    width: 3rem;
    height: 3rem;
    font-size: 1.5rem;
  }
  .p-avatar.p-avatar-lg .p-avatar-icon {
    font-size: 1.5rem;
  }
  .p-avatar.p-avatar-xl {
    width: 4rem;
    height: 4rem;
    font-size: 2rem;
  }
  .p-avatar.p-avatar-xl .p-avatar-icon {
    font-size: 2rem;
  }
  .p-avatar-circle {
    border-radius: 50%;
  }
  .p-avatar-group .p-avatar {
    border: 2px solid #ffffff;
  }
  .p-chip {
    background-color: #e5e7eb;
    color: #4b5563;
    border-radius: 16px;
    padding: 0 0.75rem;
  }
  .p-chip .p-chip-text {
    line-height: 1.5;
    margin-top: 0.375rem;
    margin-bottom: 0.375rem;
  }
  .p-chip .p-chip-icon {
    margin-right: 0.5rem;
  }
  .p-chip img {
    width: 2.25rem;
    height: 2.25rem;
    margin-left: -0.75rem;
    margin-right: 0.5rem;
  }
  .p-chip .p-chip-remove-icon {
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
    margin-left: 0.5rem;
  }
  .p-chip .p-chip-remove-icon:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-chip .p-chip-remove-icon:focus {
    outline: 0 none;
  }
  .p-scrolltop {
    width: 3rem;
    height: 3rem;
    border-radius: 50%;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
    transition: background-color 0.2s, color 0.2s, box-shadow 0.2s;
  }
  .p-scrolltop.p-link {
    background: rgba(0, 0, 0, 0.7);
  }
  .p-scrolltop.p-link:hover {
    background: rgba(0, 0, 0, 0.8);
  }
  .p-scrolltop .p-scrolltop-icon {
    font-size: 1.5rem;
    color: #f9fafb;
  }
  .p-scrolltop .p-scrolltop-icon.p-icon {
    width: 1.5rem;
    height: 1.5rem;
  }
  .p-skeleton {
    background-color: #e5e7eb;
    border-radius: 6px;
  }
  .p-skeleton:after {
    background: linear-gradient(90deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, 0.4), rgba(255, 255, 255, 0));
  }
  .p-tag {
    background: #36E19F;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
  }
  .p-tag.p-tag-success {
    background-color: #36e19f;
    color: #ffffff;
  }
  .p-tag.p-tag-info {
    background-color: #57b0c5;
    color: #ffffff;
  }
  .p-tag.p-tag-warning {
    background-color: #f97316;
    color: #ffffff;
  }
  .p-tag.p-tag-danger {
    background-color: #ef4444;
    color: #ffffff;
  }
  .p-tag .p-tag-icon {
    margin-right: 0.25rem;
    font-size: 0.75rem;
  }
  .p-tag .p-tag-icon.p-icon {
    width: 0.75rem;
    height: 0.75rem;
  }
  .p-inplace .p-inplace-display {
    padding: 0.75rem 0.75rem;
    border-radius: 6px;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-inplace .p-inplace-display:not(.p-disabled):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-inplace .p-inplace-display:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #70ffcb;
  }
  .p-metergroup .p-metergroup-meter-container {
    background: #e5e7eb;
    border-radius: 6px;
  }
  .p-metergroup .p-metergroup-meter {
    border: 0 none;
    background: #36E19F;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label-list-item {
    line-height: 1.5rem;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label-type {
    background: #36E19F;
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 100%;
    margin-right: 0.5rem;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label {
    margin-right: 1rem;
  }
  .p-metergroup .p-metergroup-label-list .p-metergroup-label-icon {
    width: 1rem;
    height: 1rem;
    margin-right: 0.5rem;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-meter-container {
    height: 0.5rem;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-meter:first-of-type {
    border-top-left-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-meter:last-of-type {
    border-top-right-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-label-list-start {
    margin-bottom: 1rem;
  }
  .p-metergroup.p-metergroup-horizontal .p-metergroup-label-list-end {
    margin-top: 1rem;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-meter-container {
    width: 0.5rem;
    height: 100%;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-meter:first-of-type {
    border-top-left-radius: 6px;
    border-top-right-radius: 6px;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-meter:last-of-type {
    border-bottom-left-radius: 6px;
    border-bottom-right-radius: 6px;
  }
  .p-metergroup.p-metergroup-vertical .p-metergroup-label-list:not(.p-metergroup-label-list-start) {
    margin-left: 1rem;
  }
  .p-progressbar {
    border: 0 none;
    height: 1.5rem;
    background: #e5e7eb;
    border-radius: 6px;
  }
  .p-progressbar .p-progressbar-value {
    border: 0 none;
    margin: 0;
    background: #36E19F;
  }
  .p-progressbar .p-progressbar-label {
    color: #ffffff;
    line-height: 1.5rem;
  }
  .p-terminal {
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    padding: 1.25rem;
  }
  .p-terminal .p-terminal-input {
    font-family: var(--font-family);
    font-feature-settings: var(--font-feature-settings, normal);
    font-size: 1rem;
  }
  .p-badge {
    background: #36E19F;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    min-width: 1.5rem;
    height: 1.5rem;
    line-height: 1.5rem;
  }
  .p-badge.p-badge-secondary {
    background-color: #787af2;
    color: #ffffff;
  }
  .p-badge.p-badge-success {
    background-color: #36e19f;
    color: #ffffff;
  }
  .p-badge.p-badge-info {
    background-color: #57b0c5;
    color: #ffffff;
  }
  .p-badge.p-badge-warning {
    background-color: #f97316;
    color: #ffffff;
  }
  .p-badge.p-badge-danger {
    background-color: #ef4444;
    color: #ffffff;
  }
  .p-badge.p-badge-lg {
    font-size: 1.125rem;
    min-width: 2.25rem;
    height: 2.25rem;
    line-height: 2.25rem;
  }
  .p-badge.p-badge-xl {
    font-size: 1.5rem;
    min-width: 3rem;
    height: 3rem;
    line-height: 3rem;
  }
  .p-tag {
    background: #36E19F;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
  }
  .p-tag.p-tag-success {
    background-color: #36e19f;
    color: #ffffff;
  }
  .p-tag.p-tag-info {
    background-color: #57b0c5;
    color: #ffffff;
  }
  .p-tag.p-tag-warning {
    background-color: #f97316;
    color: #ffffff;
  }
  .p-tag.p-tag-danger {
    background-color: #ef4444;
    color: #ffffff;
  }
}
@layer primereact {
  .p-button-label {
    font-weight: 700;
  }
  .p-selectbutton > .p-button,
  .p-togglebutton.p-button {
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-accordion .p-accordion-header .p-accordion-header-link {
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-tabview .p-tabview-nav li .p-tabview-nav-link {
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-tabview .p-tabview-nav .p-tabview-ink-bar {
    z-index: 1;
    display: block;
    position: absolute;
    bottom: 0;
    height: 2px;
    background-color: #36E19F;
    transition: 500ms cubic-bezier(0.35, 0, 0.25, 1);
  }
  .p-tabmenu .p-tabmenu-nav .p-tabmenuitem .p-menuitem-link {
    transition: background-color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-carousel .p-carousel-indicators .p-carousel-indicator.p-highlight button {
    background-color: #36E19F;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background-color: #36E19F;
  }
  .p-button:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(187.5, 188.5, 248.5), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-button.p-button-secondary:enabled:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(187.5, 188.5, 248.5), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-button.p-button-success:enabled:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(154.5, 240, 207), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-button.p-button-info:enabled:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(171, 215.5, 226), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-button.p-button-warning:enabled:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(252, 185, 138.5), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-button.p-button-help:enabled:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(211.5, 170, 251), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-button.p-button-danger:enabled:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(247, 161.5, 161.5), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 #36E19F;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #36E19F;
  }
  .p-speeddial-item.p-focus > .p-speeddial-action {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px rgb(187.5, 188.5, 248.5), 0 1px 2px 0 rgb(0, 0, 0);
  }
  .p-toast-message {
    backdrop-filter: blur(10px);
  }
  .p-inline-message-text {
    font-weight: 500;
  }
  .p-picklist-buttons .p-button,
  .p-orderlist-controls .p-button {
    transition: opacity 0.2s, background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
  }
  .p-steps .p-steps-item.p-highlight .p-steps-number {
    background: #36E19F;
    color: #ffffff;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #36E19F;
    color: #ffffff;
  }
}
@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: normal;
  font-named-instance: "Regular";
  src: url("fonts/Inter-roman.var.woff2?v=3.19") format("woff2");
}
@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: italic;
  font-named-instance: "Italic";
  src: url("fonts/Inter-italic.var.woff2?v=3.19") format("woff2");
}
:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.ds-shadow-none {
  box-shadow: none !important;
}

.ds-shadow-xs {
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important;
}

.ds-shadow-sm {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06) !important;
}

.ds-shadow {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06) !important;
}

.ds-shadow-md {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05) !important;
}

.ds-shadow-lg {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important;
}

.ds-shadow-xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.ds-shadow-2xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25) !important;
}

.ds-shadow-inner {
  box-shadow: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06) !important;
}

.ds-shadow-inner-lg {
  box-shadow: inset 0 4px 8px 0 rgba(0, 0, 0, 0.12) !important;
}

.ds-shadow-primary {
  box-shadow: 0 4px 14px 0 rgba(54, 225, 159, 0.39) !important;
}

.ds-shadow-success {
  box-shadow: 0 4px 14px 0 rgba(16, 185, 129, 0.39) !important;
}

.ds-shadow-warning {
  box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.39) !important;
}

.ds-shadow-error {
  box-shadow: 0 4px 14px 0 rgba(239, 68, 68, 0.39) !important;
}

.ds-gradient-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%) !important;
}

.ds-gradient-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%) !important;
}

.ds-gradient-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%) !important;
}

.ds-gradient-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%) !important;
}

.ds-gradient-error {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%) !important;
}

.ds-gradient-radial-primary {
  background: radial-gradient(circle, #70ffcb 0%, #36E19F 70%) !important;
}

.ds-gradient-radial-secondary {
  background: radial-gradient(circle, #8b5cf6 0%, #6366f1 70%) !important;
}

.ds-gradient-soft-blue {
  background: linear-gradient(135deg, #667eea 0%, #764ba2 100%) !important;
}

.ds-gradient-soft-purple {
  background: linear-gradient(135deg, #f093fb 0%, #f5576c 100%) !important;
}

.ds-gradient-soft-green {
  background: linear-gradient(135deg, #4facfe 0%, #00f2fe 100%) !important;
}

.ds-gradient-soft-orange {
  background: linear-gradient(135deg, #fa709a 0%, #fee140 100%) !important;
}

.ds-gradient-bg-primary {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%) !important;
}

.ds-gradient-bg-gray {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%) !important;
}

.ds-gradient-text-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ds-gradient-text-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ds-gradient-text-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ds-gradient-text-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ds-gradient-text-error {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.ds-transition-none {
  transition: none !important;
}

.ds-transition-fast {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.ds-transition {
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.ds-transition-slow {
  transition: all 500ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.ds-transition-transform {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.ds-transition-opacity {
  transition: opacity 150ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.ds-transition-colors {
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1) !important;
}

.ds-hover-lift {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-lift:hover {
  transform: translateY(-2px);
}

.ds-hover-lift-sm {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-lift-sm:hover {
  transform: translateY(-1px);
}

.ds-hover-lift-lg {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-lift-lg:hover {
  transform: translateY(-4px);
}

.ds-hover-scale {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-scale:hover {
  transform: scale(1.05);
}

.ds-hover-scale-sm {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-scale-sm:hover {
  transform: scale(1.02);
}

.ds-hover-scale-lg {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-scale-lg:hover {
  transform: scale(1.1);
}

.ds-hover-glow {
  transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-glow:hover {
  box-shadow: 0 0 20px rgba(54, 225, 159, 0.4);
}

.ds-hover-glow-success {
  transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-glow-success:hover {
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.4);
}

.ds-hover-glow-warning {
  transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-glow-warning:hover {
  box-shadow: 0 0 20px rgba(245, 158, 11, 0.4);
}

.ds-hover-glow-error {
  transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.ds-hover-glow-error:hover {
  box-shadow: 0 0 20px rgba(239, 68, 68, 0.4);
}

.ds-skeleton {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 1rem;
  border-radius: 0.375rem;
  animation: ds-skeleton-loading 1.5s infinite;
}

.ds-skeleton-sm {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 0.75rem;
  border-radius: 0.375rem;
  animation: ds-skeleton-loading 1.5s infinite;
}

.ds-skeleton-lg {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 1.5rem;
  border-radius: 0.375rem;
  animation: ds-skeleton-loading 1.5s infinite;
}

.ds-pulse {
  animation: ds-pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.ds-btn-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(54, 225, 159, 0.39);
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}
.ds-btn-primary:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.ds-btn-primary:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.ds-btn-primary:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}

.ds-btn-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}
.ds-btn-secondary:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.ds-btn-secondary:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.ds-btn-secondary:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}

.ds-btn-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(16, 185, 129, 0.39);
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}
.ds-btn-success:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.ds-btn-success:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.ds-btn-success:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}

.ds-btn-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.39);
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}
.ds-btn-warning:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.ds-btn-warning:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.ds-btn-warning:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}

.ds-btn-error {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(239, 68, 68, 0.39);
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}
.ds-btn-error:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.ds-btn-error:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.ds-btn-error:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}

.ds-btn-sm {
  height: 2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
}

.ds-btn-md {
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
}

.ds-btn-lg {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
}

.ds-btn-xl {
  height: 3.5rem;
  padding: 1.25rem 2rem;
  font-size: 1.25rem;
  border-radius: 1rem;
}

.ds-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
}

.ds-card-sm {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  padding: 1rem;
  border-radius: 0.125rem;
}

.ds-card-lg {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 2rem;
  border-radius: 0.75rem;
}

.ds-card-interactive {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
}
.ds-card-interactive:hover:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}

.ds-card-hover {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
}
.ds-card-hover:hover {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transform: translateY(-2px);
}

.ds-m-0 {
  margin: 0 !important;
}

.ds-m-1 {
  margin: 0.25rem !important;
}

.ds-m-2 {
  margin: 0.5rem !important;
}

.ds-m-3 {
  margin: 0.75rem !important;
}

.ds-m-4 {
  margin: 1rem !important;
}

.ds-m-5 {
  margin: 1.25rem !important;
}

.ds-m-6 {
  margin: 1.5rem !important;
}

.ds-m-8 {
  margin: 2rem !important;
}

.ds-m-10 {
  margin: 2.5rem !important;
}

.ds-m-12 {
  margin: 3rem !important;
}

.ds-m-16 {
  margin: 4rem !important;
}

.ds-m-20 {
  margin: 5rem !important;
}

.ds-m-24 {
  margin: 6rem !important;
}

.ds-m-32 {
  margin: 8rem !important;
}

.ds-mt-0 {
  margin-top: 0 !important;
}

.ds-mt-1 {
  margin-top: 0.25rem !important;
}

.ds-mt-2 {
  margin-top: 0.5rem !important;
}

.ds-mt-3 {
  margin-top: 0.75rem !important;
}

.ds-mt-4 {
  margin-top: 1rem !important;
}

.ds-mt-5 {
  margin-top: 1.25rem !important;
}

.ds-mt-6 {
  margin-top: 1.5rem !important;
}

.ds-mt-8 {
  margin-top: 2rem !important;
}

.ds-mt-10 {
  margin-top: 2.5rem !important;
}

.ds-mt-12 {
  margin-top: 3rem !important;
}

.ds-mt-16 {
  margin-top: 4rem !important;
}

.ds-mb-0 {
  margin-bottom: 0 !important;
}

.ds-mb-1 {
  margin-bottom: 0.25rem !important;
}

.ds-mb-2 {
  margin-bottom: 0.5rem !important;
}

.ds-mb-3 {
  margin-bottom: 0.75rem !important;
}

.ds-mb-4 {
  margin-bottom: 1rem !important;
}

.ds-mb-5 {
  margin-bottom: 1.25rem !important;
}

.ds-mb-6 {
  margin-bottom: 1.5rem !important;
}

.ds-mb-8 {
  margin-bottom: 2rem !important;
}

.ds-mb-10 {
  margin-bottom: 2.5rem !important;
}

.ds-mb-12 {
  margin-bottom: 3rem !important;
}

.ds-mb-16 {
  margin-bottom: 4rem !important;
}

.ds-ml-0 {
  margin-left: 0 !important;
}

.ds-ml-1 {
  margin-left: 0.25rem !important;
}

.ds-ml-2 {
  margin-left: 0.5rem !important;
}

.ds-ml-3 {
  margin-left: 0.75rem !important;
}

.ds-ml-4 {
  margin-left: 1rem !important;
}

.ds-ml-5 {
  margin-left: 1.25rem !important;
}

.ds-ml-6 {
  margin-left: 1.5rem !important;
}

.ds-ml-8 {
  margin-left: 2rem !important;
}

.ds-mr-0 {
  margin-right: 0 !important;
}

.ds-mr-1 {
  margin-right: 0.25rem !important;
}

.ds-mr-2 {
  margin-right: 0.5rem !important;
}

.ds-mr-3 {
  margin-right: 0.75rem !important;
}

.ds-mr-4 {
  margin-right: 1rem !important;
}

.ds-mr-5 {
  margin-right: 1.25rem !important;
}

.ds-mr-6 {
  margin-right: 1.5rem !important;
}

.ds-mr-8 {
  margin-right: 2rem !important;
}

.ds-p-0 {
  padding: 0 !important;
}

.ds-p-1 {
  padding: 0.25rem !important;
}

.ds-p-2 {
  padding: 0.5rem !important;
}

.ds-p-3 {
  padding: 0.75rem !important;
}

.ds-p-4 {
  padding: 1rem !important;
}

.ds-p-5 {
  padding: 1.25rem !important;
}

.ds-p-6 {
  padding: 1.5rem !important;
}

.ds-p-8 {
  padding: 2rem !important;
}

.ds-p-10 {
  padding: 2.5rem !important;
}

.ds-p-12 {
  padding: 3rem !important;
}

.ds-p-16 {
  padding: 4rem !important;
}

.ds-pt-0 {
  padding-top: 0 !important;
}

.ds-pt-1 {
  padding-top: 0.25rem !important;
}

.ds-pt-2 {
  padding-top: 0.5rem !important;
}

.ds-pt-3 {
  padding-top: 0.75rem !important;
}

.ds-pt-4 {
  padding-top: 1rem !important;
}

.ds-pt-5 {
  padding-top: 1.25rem !important;
}

.ds-pt-6 {
  padding-top: 1.5rem !important;
}

.ds-pt-8 {
  padding-top: 2rem !important;
}

.ds-pb-0 {
  padding-bottom: 0 !important;
}

.ds-pb-1 {
  padding-bottom: 0.25rem !important;
}

.ds-pb-2 {
  padding-bottom: 0.5rem !important;
}

.ds-pb-3 {
  padding-bottom: 0.75rem !important;
}

.ds-pb-4 {
  padding-bottom: 1rem !important;
}

.ds-pb-5 {
  padding-bottom: 1.25rem !important;
}

.ds-pb-6 {
  padding-bottom: 1.5rem !important;
}

.ds-pb-8 {
  padding-bottom: 2rem !important;
}

.ds-pl-0 {
  padding-left: 0 !important;
}

.ds-pl-1 {
  padding-left: 0.25rem !important;
}

.ds-pl-2 {
  padding-left: 0.5rem !important;
}

.ds-pl-3 {
  padding-left: 0.75rem !important;
}

.ds-pl-4 {
  padding-left: 1rem !important;
}

.ds-pl-5 {
  padding-left: 1.25rem !important;
}

.ds-pl-6 {
  padding-left: 1.5rem !important;
}

.ds-pr-0 {
  padding-right: 0 !important;
}

.ds-pr-1 {
  padding-right: 0.25rem !important;
}

.ds-pr-2 {
  padding-right: 0.5rem !important;
}

.ds-pr-3 {
  padding-right: 0.75rem !important;
}

.ds-pr-4 {
  padding-right: 1rem !important;
}

.ds-pr-5 {
  padding-right: 1.25rem !important;
}

.ds-pr-6 {
  padding-right: 1.5rem !important;
}

.ds-rounded-none {
  border-radius: 0 !important;
}

.ds-rounded-sm {
  border-radius: 0.125rem !important;
}

.ds-rounded {
  border-radius: 0.25rem !important;
}

.ds-rounded-md {
  border-radius: 0.375rem !important;
}

.ds-rounded-lg {
  border-radius: 0.5rem !important;
}

.ds-rounded-xl {
  border-radius: 0.75rem !important;
}

.ds-rounded-2xl {
  border-radius: 1rem !important;
}

.ds-rounded-3xl {
  border-radius: 1.5rem !important;
}

.ds-rounded-full {
  border-radius: 9999px !important;
}

.ds-text-xs {
  font-size: 0.75rem !important;
}

.ds-text-sm {
  font-size: 0.875rem !important;
}

.ds-text-base {
  font-size: 1rem !important;
}

.ds-text-lg {
  font-size: 1.125rem !important;
}

.ds-text-xl {
  font-size: 1.25rem !important;
}

.ds-text-2xl {
  font-size: 1.5rem !important;
}

.ds-text-3xl {
  font-size: 1.875rem !important;
}

.ds-text-4xl {
  font-size: 2.25rem !important;
}

.ds-text-5xl {
  font-size: 3rem !important;
}

.ds-text-6xl {
  font-size: 4rem !important;
}

.ds-font-thin {
  font-weight: 100 !important;
}

.ds-font-light {
  font-weight: 300 !important;
}

.ds-font-normal {
  font-weight: 400 !important;
}

.ds-font-medium {
  font-weight: 500 !important;
}

.ds-font-semibold {
  font-weight: 600 !important;
}

.ds-font-bold {
  font-weight: 700 !important;
}

.ds-font-extrabold {
  font-weight: 800 !important;
}

.ds-font-black {
  font-weight: 900 !important;
}

.ds-leading-none {
  line-height: 1 !important;
}

.ds-leading-tight {
  line-height: 1.25 !important;
}

.ds-leading-snug {
  line-height: 1.375 !important;
}

.ds-leading-normal {
  line-height: 1.5 !important;
}

.ds-leading-relaxed {
  line-height: 1.625 !important;
}

.ds-leading-loose {
  line-height: 2 !important;
}

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

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

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

.ds-visually-hidden {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.ds-clearfix::after {
  display: block;
  clear: both;
  content: "";
}

.ds-flex-center {
  display: flex;
  align-items: center;
  justify-content: center;
}

.ds-flex-between {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.ds-flex-column-center {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.ds-text-primary {
  color: #36E19F !important;
}

.ds-text-success {
  color: #10b981 !important;
}

.ds-text-warning {
  color: #f59e0b !important;
}

.ds-text-error {
  color: #ef4444 !important;
}

.ds-text-info {
  color: #3b82f6 !important;
}

.ds-text-gray-50 {
  color: #f9fafb !important;
}

.ds-text-gray-100 {
  color: #f3f4f6 !important;
}

.ds-text-gray-200 {
  color: #e5e7eb !important;
}

.ds-text-gray-300 {
  color: #d1d5db !important;
}

.ds-text-gray-400 {
  color: #9ca3af !important;
}

.ds-text-gray-500 {
  color: #6b7280 !important;
}

.ds-text-gray-600 {
  color: #4b5563 !important;
}

.ds-text-gray-700 {
  color: #374151 !important;
}

.ds-text-gray-800 {
  color: #1f2937 !important;
}

.ds-text-gray-900 {
  color: #111827 !important;
}

.ds-bg-primary {
  background-color: #36E19F !important;
}

.ds-bg-success {
  background-color: #10b981 !important;
}

.ds-bg-warning {
  background-color: #f59e0b !important;
}

.ds-bg-error {
  background-color: #ef4444 !important;
}

.ds-bg-info {
  background-color: #3b82f6 !important;
}

.ds-bg-gray-50 {
  background-color: #f9fafb !important;
}

.ds-bg-gray-100 {
  background-color: #f3f4f6 !important;
}

.ds-bg-gray-200 {
  background-color: #e5e7eb !important;
}

.ds-bg-gray-300 {
  background-color: #d1d5db !important;
}

.ds-bg-gray-400 {
  background-color: #9ca3af !important;
}

.ds-bg-gray-500 {
  background-color: #6b7280 !important;
}

.ds-bg-gray-600 {
  background-color: #4b5563 !important;
}

.ds-bg-gray-700 {
  background-color: #374151 !important;
}

.ds-bg-gray-800 {
  background-color: #1f2937 !important;
}

.ds-bg-gray-900 {
  background-color: #111827 !important;
}

.ds-border-primary {
  border-color: #36E19F !important;
}

.ds-border-success {
  border-color: #10b981 !important;
}

.ds-border-warning {
  border-color: #f59e0b !important;
}

.ds-border-error {
  border-color: #ef4444 !important;
}

.ds-border-info {
  border-color: #3b82f6 !important;
}

.ds-border-gray-100 {
  border-color: #f3f4f6 !important;
}

.ds-border-gray-200 {
  border-color: #e5e7eb !important;
}

.ds-border-gray-300 {
  border-color: #d1d5db !important;
}

.ds-border-gray-400 {
  border-color: #9ca3af !important;
}

.ds-scrollbar::-webkit-scrollbar {
  width: 8px;
  height: 8px;
}
.ds-scrollbar::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 9999px;
}
.ds-scrollbar::-webkit-scrollbar-thumb {
  background: #9ca3af;
  border-radius: 9999px;
}
.ds-scrollbar::-webkit-scrollbar-thumb:hover {
  background: rgb(127.7932960894, 136.7877094972, 152.2067039106);
}

.ds-scrollbar-thin::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.ds-scrollbar-thin::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 9999px;
}
.ds-scrollbar-thin::-webkit-scrollbar-thumb {
  background: #9ca3af;
  border-radius: 9999px;
}
.ds-scrollbar-thin::-webkit-scrollbar-thumb:hover {
  background: rgb(127.7932960894, 136.7877094972, 152.2067039106);
}

.ds-scrollbar-wide::-webkit-scrollbar {
  width: 12px;
  height: 12px;
}
.ds-scrollbar-wide::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 9999px;
}
.ds-scrollbar-wide::-webkit-scrollbar-thumb {
  background: #9ca3af;
  border-radius: 9999px;
}
.ds-scrollbar-wide::-webkit-scrollbar-thumb:hover {
  background: rgb(127.7932960894, 136.7877094972, 152.2067039106);
}

:export {
  primaryColor: #36E19F;
  primaryLight: #70ffcb;
  primaryDark: #0891b2;
  successColor: #10b981;
  warningColor: #f59e0b;
  errorColor: #ef4444;
  infoColor: #3b82f6;
  spaceSm: 0.5rem;
  spaceMd: 1rem;
  spaceLg: 1.5rem;
  spaceXl: 2rem;
  radiusSm: 0.125rem;
  radiusMd: 0.375rem;
  radiusLg: 0.5rem;
  radiusXl: 0.75rem;
  shadowSm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  shadowMd: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  shadowLg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transitionFast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  transitionNormal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  transitionSlow: all 500ms cubic-bezier(0, 0, 0.2, 1);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.enhanced-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 2rem;
  border-radius: 0.75rem;
  position: relative;
  overflow: hidden;
}
.enhanced-card:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}
.enhanced-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 4px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}
.enhanced-card.enhanced-card-gradient {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  border: 1px solid rgba(54, 225, 159, 0.2);
}
.enhanced-card.enhanced-card-gradient:hover {
  border-color: rgba(54, 225, 159, 0.4);
}
.enhanced-card.enhanced-card-glass {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}
.enhanced-card .enhanced-card-header {
  padding: 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
}
.enhanced-card .enhanced-card-header .enhanced-card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.enhanced-card .enhanced-card-header .enhanced-card-subtitle {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.25rem 0 0 0;
}
.enhanced-card .enhanced-card-body {
  padding: 1.5rem;
}
.enhanced-card .enhanced-card-footer {
  padding: 1.5rem;
  border-top: 1px solid #e5e7eb;
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

.enhanced-button {
  height: 2.5rem;
  padding: 0.75rem 1.25rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  border: none;
  cursor: pointer;
  text-decoration: none;
  font-family: inherit;
  outline: none;
  position: relative;
  overflow: hidden;
}
.enhanced-button.enhanced-button-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(54, 225, 159, 0.39);
}
.enhanced-button.enhanced-button-primary:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.enhanced-button.enhanced-button-primary:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.enhanced-button.enhanced-button-primary:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.enhanced-button.enhanced-button-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
}
.enhanced-button.enhanced-button-secondary:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.enhanced-button.enhanced-button-secondary:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.enhanced-button.enhanced-button-secondary:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.enhanced-button.enhanced-button-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(16, 185, 129, 0.39);
}
.enhanced-button.enhanced-button-success:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.enhanced-button.enhanced-button-success:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.enhanced-button.enhanced-button-success:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.enhanced-button.enhanced-button-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(245, 158, 11, 0.39);
}
.enhanced-button.enhanced-button-warning:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.enhanced-button.enhanced-button-warning:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.enhanced-button.enhanced-button-warning:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.enhanced-button.enhanced-button-error {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(239, 68, 68, 0.39);
}
.enhanced-button.enhanced-button-error:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.enhanced-button.enhanced-button-error:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.enhanced-button.enhanced-button-error:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.enhanced-button.enhanced-button-outline {
  background: transparent;
  border: 2px solid #36E19F;
  color: #36E19F;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-button.enhanced-button-outline:hover {
  background: #36E19F;
  color: white;
  transform: translateY(-2px);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}
.enhanced-button.enhanced-button-ghost {
  background: transparent;
  border: none;
  color: #4b5563;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-button.enhanced-button-ghost:hover {
  background: #f3f4f6;
  color: #1f2937;
}
.enhanced-button.enhanced-button-sm {
  height: 2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
}
.enhanced-button.enhanced-button-lg {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
}
.enhanced-button.enhanced-button-xl {
  height: 3.5rem;
  padding: 1.25rem 2rem;
  font-size: 1.25rem;
  border-radius: 1rem;
}
.enhanced-button.enhanced-button-loading {
  pointer-events: none;
}
.enhanced-button.enhanced-button-loading::after {
  content: "";
  position: absolute;
  width: 16px;
  height: 16px;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: enhanced-button-spin 1s linear infinite;
}
.enhanced-button.enhanced-button-loading .enhanced-button-text {
  opacity: 0;
}
@keyframes enhanced-button-spin {
  to {
    transform: rotate(360deg);
  }
}

.enhanced-table {
  width: 100%;
  border-collapse: collapse;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  background: white;
}
.enhanced-table .enhanced-table-header {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
}
.enhanced-table .enhanced-table-header th {
  padding: 1rem 1.5rem;
  text-align: left;
  font-weight: 600;
  color: #374151;
  border-bottom: 2px solid #36E19F;
  position: relative;
}
.enhanced-table .enhanced-table-header th::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  right: 0;
  height: 2px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  transform: scaleX(0);
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-table .enhanced-table-header th:hover::after {
  transform: scaleX(1);
}
.enhanced-table .enhanced-table-body tr {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-table .enhanced-table-body tr:nth-child(even) {
  background: rgba(249, 250, 251, 0.5);
}
.enhanced-table .enhanced-table-body tr:hover {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  transform: translateX(4px);
  box-shadow: inset 4px 0 0 #36E19F;
}
.enhanced-table .enhanced-table-body tr td {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  color: #374151;
}
.enhanced-table .enhanced-table-body tr td:first-child {
  font-weight: 500;
}
.enhanced-table.enhanced-table-striped .enhanced-table-body tr:nth-child(even) {
  background: #f9fafb;
}
.enhanced-table.enhanced-table-bordered {
  border: 1px solid #d1d5db;
}
.enhanced-table.enhanced-table-bordered th, .enhanced-table.enhanced-table-bordered td {
  border-right: 1px solid #e5e7eb;
}
.enhanced-table.enhanced-table-bordered th:last-child, .enhanced-table.enhanced-table-bordered td:last-child {
  border-right: none;
}

.enhanced-form .enhanced-form-group {
  margin-bottom: 1.5rem;
}
.enhanced-form .enhanced-form-group .enhanced-form-label {
  display: block;
  margin-bottom: 0.5rem;
  font-weight: 500;
  color: #374151;
  font-size: 0.875rem;
}
.enhanced-form .enhanced-form-group .enhanced-form-input {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  width: 100%;
}
.enhanced-form .enhanced-form-group .enhanced-form-input:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.error {
  border-color: #ef4444;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.success {
  border-color: #10b981;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 3rem;
  padding: 1rem 1.25rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg.error {
  border-color: #ef4444;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg.success {
  border-color: #10b981;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-lg.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm.error {
  border-color: #ef4444;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm.success {
  border-color: #10b981;
}
.enhanced-form .enhanced-form-group .enhanced-form-input.enhanced-form-input-sm.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.enhanced-form .enhanced-form-group .enhanced-form-help {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: #6b7280;
}
.enhanced-form .enhanced-form-group .enhanced-form-error {
  margin-top: 0.25rem;
  font-size: 0.75rem;
  color: #ef4444;
}
.enhanced-form .enhanced-form-group.enhanced-form-group-error .enhanced-form-label {
  color: #ef4444;
}
.enhanced-form .enhanced-form-row {
  display: flex;
  gap: 1rem;
  margin-bottom: 1.5rem;
}
.enhanced-form .enhanced-form-row .enhanced-form-col {
  flex: 1;
}

.enhanced-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.75rem;
  font-size: 0.75rem;
  font-weight: 500;
  border-radius: 9999px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}
.enhanced-badge.enhanced-badge-primary {
  background: #36E19F;
  color: white;
}
.enhanced-badge.enhanced-badge-secondary {
  background: #6b7280;
  color: white;
}
.enhanced-badge.enhanced-badge-success {
  background: #10b981;
  color: white;
}
.enhanced-badge.enhanced-badge-warning {
  background: #f59e0b;
  color: white;
}
.enhanced-badge.enhanced-badge-error {
  background: #ef4444;
  color: white;
}
.enhanced-badge.enhanced-badge-outline {
  background: transparent;
  border: 1px solid currentColor;
}
.enhanced-badge.enhanced-badge-lg {
  padding: 0.5rem 1rem;
  font-size: 0.875rem;
}

.enhanced-alert {
  padding: 1rem;
  border-radius: 0.5rem;
  border-left: 4px solid;
  margin-bottom: 1rem;
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
}
.enhanced-alert.enhanced-alert-info {
  background: rgba(59, 130, 246, 0.1);
  border-color: #3b82f6;
  color: rgb(8.912195122, 79.2195121951, 194.087804878);
}
.enhanced-alert.enhanced-alert-success {
  background: rgba(16, 185, 129, 0.1);
  border-color: #10b981;
  color: rgb(7.8805970149, 91.1194029851, 63.5373134328);
}
.enhanced-alert.enhanced-alert-warning {
  background: rgba(245, 158, 11, 0.1);
  border-color: #f59e0b;
  color: rgb(147.937007874, 95.188976378, 6.062992126);
}
.enhanced-alert.enhanced-alert-error {
  background: rgba(239, 68, 68, 0.1);
  border-color: #ef4444;
  color: rgb(188.842364532, 16.157635468, 16.157635468);
}
.enhanced-alert .enhanced-alert-icon {
  flex-shrink: 0;
  width: 20px;
  height: 20px;
  margin-top: 2px;
}
.enhanced-alert .enhanced-alert-content {
  flex: 1;
}
.enhanced-alert .enhanced-alert-content .enhanced-alert-title {
  font-weight: 600;
  margin: 0 0 0.25rem 0;
}
.enhanced-alert .enhanced-alert-content .enhanced-alert-message {
  margin: 0;
  opacity: 0.9;
}
.enhanced-alert .enhanced-alert-close {
  background: none;
  border: none;
  padding: 0;
  cursor: pointer;
  opacity: 0.7;
  transition: opacity 150ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-alert .enhanced-alert-close:hover {
  opacity: 1;
}

.enhanced-skeleton {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 1rem;
  border-radius: 0.375rem;
  animation: ds-skeleton-loading 1.5s infinite;
}
.enhanced-skeleton.enhanced-skeleton-text {
  height: 1em;
  margin-bottom: 0.5em;
}
.enhanced-skeleton.enhanced-skeleton-text:last-child {
  margin-bottom: 0;
}
.enhanced-skeleton.enhanced-skeleton-avatar {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 3rem;
  border-radius: 9999px;
  animation: ds-skeleton-loading 1.5s infinite;
}
.enhanced-skeleton.enhanced-skeleton-button {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 2.5rem;
  border-radius: 0.5rem;
  animation: ds-skeleton-loading 1.5s infinite;
  width: 6rem;
}

.enhanced-spinner {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  border: 3px solid rgba(54, 225, 159, 0.3);
  border-radius: 50%;
  border-top-color: #36E19F;
  animation: enhanced-spin 1s ease-in-out infinite;
}
@keyframes enhanced-spin {
  to {
    transform: rotate(360deg);
  }
}
.enhanced-spinner.enhanced-spinner-sm {
  width: 1rem;
  height: 1rem;
  border-width: 2px;
}
.enhanced-spinner.enhanced-spinner-lg {
  width: 3rem;
  height: 3rem;
  border-width: 4px;
}

.enhanced-shadow-sm {
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

.enhanced-shadow-base {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.enhanced-shadow-md {
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.enhanced-shadow-lg {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.enhanced-shadow-xl {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}

.enhanced-rounded-sm {
  border-radius: 0.125rem;
}

.enhanced-rounded-base {
  border-radius: 0.25rem;
}

.enhanced-rounded-md {
  border-radius: 0.375rem;
}

.enhanced-rounded-lg {
  border-radius: 0.5rem;
}

.enhanced-rounded-xl {
  border-radius: 0.75rem;
}

.enhanced-rounded-full {
  border-radius: 9999px;
}

.enhanced-transition-fast {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}

.enhanced-transition-normal {
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}

.enhanced-transition-slow {
  transition: all 500ms cubic-bezier(0, 0, 0.2, 1);
}

.enhanced-hover-lift {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-hover-lift:hover {
  transform: translateY(-2px);
}

.enhanced-hover-scale {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-hover-scale:hover {
  transform: scale(1.05);
}

.enhanced-hover-glow {
  transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-hover-glow:hover {
  box-shadow: 0 0 20px rgba(54, 225, 159, 0.4);
}

.enhanced-gradient-text {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.enhanced-gradient-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}

.enhanced-gradient-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.enhanced-gradient-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
}

.enhanced-gradient-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
}

.enhanced-gradient-error {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.billing-details-card .p-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 2rem;
  border-radius: 0.75rem;
  border-left: 4px solid #36E19F;
}
.billing-details-card .p-card:hover {
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  transform: translateY(-2px);
}
.billing-details-card .p-card .p-card-header {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  border-bottom: 1px solid rgba(54, 225, 159, 0.2);
}
.billing-details-card .p-card .p-card-header .flex-row .p-badge.p-badge-info {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
  border-radius: 9999px;
  font-weight: 500;
}
.billing-details-card .p-card .p-card-header .flex-row .p-badge.p-badge-secondary {
  background: #6b7280;
  color: white;
  border-radius: 9999px;
  font-weight: 500;
}
.billing-details-card .p-card .p-card-body .p-card-content .flex-column {
  gap: 0.75rem;
}
.billing-details-card .p-card .p-card-body .p-card-content .flex-column .key-value-row {
  padding: 0.5rem 0.75rem;
  border-radius: 0.375rem;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.billing-details-card .p-card .p-card-body .p-card-content .flex-column .key-value-row:hover {
  background: rgba(54, 225, 159, 0.05);
}

.app-menu .p-menu {
  border-radius: 0.75rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
}
.app-menu .p-menu .p-menuitem {
  margin: 0.25rem;
  border-radius: 0.5rem;
  overflow: hidden;
}
.app-menu .p-menu .p-menuitem .p-menuitem-content {
  border-radius: 0.5rem;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
  position: relative;
}
.app-menu .p-menu .p-menuitem .p-menuitem-content:hover {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  transform: translateX(4px);
  box-shadow: inset 4px 0 0 #36E19F;
}
.app-menu .p-menu .p-menuitem .p-menuitem-content .p-menuitem-link {
  padding: 0.75rem 1rem;
  color: #374151;
  font-weight: 500;
}
.app-menu .p-menu .p-menuitem .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
  color: #36E19F;
  margin-right: 0.75rem;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.app-menu .p-menu .p-menuitem .p-menuitem-content .p-menuitem-link .p-menuitem-text {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.app-menu .p-menu .p-menuitem .p-menuitem-content .p-menuitem-link:hover .p-menuitem-icon {
  transform: scale(1.1);
}
.app-menu .p-menu .p-menuitem.p-menuitem-active .p-menuitem-content {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
}
.app-menu .p-menu .p-menuitem.p-menuitem-active .p-menuitem-content .p-menuitem-link {
  color: white;
}
.app-menu .p-menu .p-menuitem.p-menuitem-active .p-menuitem-content .p-menuitem-link .p-menuitem-icon {
  color: white;
}
.app-menu .p-menu .p-submenu-header {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  color: #1f2937;
  font-weight: 600;
  font-size: 0.875rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  padding: 0.75rem 1rem;
  margin: 0.5rem 0.25rem;
  border-radius: 0.5rem;
  border-left: 3px solid #36E19F;
}

.enhanced-loader .p-dialog {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px);
}
.enhanced-loader .p-dialog .p-progressspinner .p-progressspinner-svg {
  animation: enhanced-loader-rotate 2s linear infinite;
}
.enhanced-loader .p-dialog .p-progressspinner .p-progressspinner-svg .p-progressspinner-circle {
  stroke: #36E19F;
  stroke-dasharray: 90, 150;
  stroke-dashoffset: 0;
  stroke-linecap: round;
  animation: enhanced-loader-dash 1.5s ease-in-out infinite;
}
@keyframes enhanced-loader-rotate {
  100% {
    transform: rotate(360deg);
  }
}
@keyframes enhanced-loader-dash {
  0% {
    stroke-dasharray: 1, 150;
    stroke-dashoffset: 0;
  }
  50% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -35;
  }
  100% {
    stroke-dasharray: 90, 150;
    stroke-dashoffset: -124;
  }
}

.flex-column {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}
.flex-column.flex-column-lg {
  gap: 1rem;
}
.flex-column.flex-column-xl {
  gap: 1.5rem;
}

.flex-row {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 0.5rem;
}
.flex-row.flex-row-lg {
  gap: 1rem;
}
.flex-row.flex-row-xl {
  gap: 1.5rem;
}

.key-value-row {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0.5rem 0;
  border-bottom: 1px solid rgba(229, 231, 235, 0.5);
}
.key-value-row:last-child {
  border-bottom: none;
}
.key-value-row .key {
  font-weight: 500;
  color: #4b5563;
  flex: 0 0 auto;
}
.key-value-row .value {
  color: #1f2937;
  text-align: right;
  flex: 1;
  margin-left: 1rem;
}

.search-dropdown .p-dropdown {
  border-radius: 0.5rem;
  border: 1px solid #d1d5db;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
}
.search-dropdown .p-dropdown:hover {
  border-color: #36E19F;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.search-dropdown .p-dropdown.p-focus {
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.search-dropdown .p-dropdown .p-dropdown-label {
  padding: 0.75rem 1rem;
  font-weight: 400;
}
.search-dropdown .p-dropdown .p-dropdown-trigger {
  width: 2.5rem;
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  border-left: 1px solid #d1d5db;
  border-radius: 0 0.5rem 0.5rem 0;
}
.search-dropdown .p-dropdown .p-dropdown-trigger .p-dropdown-trigger-icon {
  color: #36E19F;
}
.search-dropdown .p-dropdown-panel {
  border-radius: 0.5rem;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  border: 1px solid rgba(209, 213, 219, 0.5);
  backdrop-filter: blur(10px);
  background: rgba(255, 255, 255, 0.95);
}
.search-dropdown .p-dropdown-panel .p-dropdown-items .p-dropdown-item {
  padding: 0.75rem 1rem;
  border-radius: 0.375rem;
  margin: 0.25rem;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.search-dropdown .p-dropdown-panel .p-dropdown-items .p-dropdown-item:hover {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  color: #36E19F;
}
.search-dropdown .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
}

.advertisement-preview .p-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  padding: 2rem;
  border-radius: 0.75rem;
}
.advertisement-preview .p-card:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.advertisement-preview .p-card .p-card-header {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
}
.advertisement-preview .p-card .p-card-header .p-card-title {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 600;
}
.advertisement-preview .p-card .p-card-body .advertisement-content {
  padding: 1rem;
  border-radius: 0.5rem;
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  margin: 0.5rem 0;
}
.advertisement-preview .p-card .p-card-body .advertisement-content img {
  border-radius: 0.375rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}
.advertisement-preview .p-card .p-card-body .advertisement-content img:hover {
  transform: scale(1.02);
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
}

.organization-selector .p-selectbutton .p-button {
  border-radius: 0.5rem;
  border: 2px solid #d1d5db;
  margin: 0 0.25rem;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.organization-selector .p-selectbutton .p-button:hover {
  border-color: #36E19F;
  transform: translateY(-2px);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.organization-selector .p-selectbutton .p-button.p-highlight {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border-color: #36E19F;
  color: white;
}

.table-view-control .control-panel {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  padding: 1rem;
  border-radius: 0.5rem;
  margin-bottom: 1rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.table-view-control .control-panel .control-group {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin-bottom: 0.75rem;
}
.table-view-control .control-panel .control-group:last-child {
  margin-bottom: 0;
}
.table-view-control .control-panel .control-group .control-label {
  font-weight: 500;
  color: #374151;
  min-width: 120px;
}
.table-view-control .control-panel .control-group .control-input {
  flex: 1;
}

.screen-builder .builder-panel {
  background: white;
  border-radius: 0.75rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  padding: 1.5rem;
}
.screen-builder .builder-panel .builder-header {
  padding-bottom: 1rem;
  border-bottom: 2px solid #e5e7eb;
  margin-bottom: 1.5rem;
}
.screen-builder .builder-panel .builder-header .builder-title {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-size: 1.5rem;
  font-weight: 700;
  margin: 0;
}
.screen-builder .builder-panel .builder-content .builder-section {
  margin-bottom: 1.5rem;
}
.screen-builder .builder-panel .builder-content .builder-section .section-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.75rem;
  padding-left: 0.75rem;
  border-left: 3px solid #36E19F;
}
.screen-builder .builder-panel .builder-content .builder-section .section-content {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  padding: 1rem;
  border-radius: 0.5rem;
}

.draggable-marker .leaflet-popup .leaflet-popup-content-wrapper {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  border-radius: 0.5rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.draggable-marker .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content {
  margin: 1rem;
}
.draggable-marker .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content .popup-title {
  font-weight: 600;
  color: #1f2937;
  margin-bottom: 0.5rem;
}
.draggable-marker .leaflet-popup .leaflet-popup-content-wrapper .leaflet-popup-content .popup-description {
  color: #4b5563;
}

.enhanced-shadow {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.enhanced-shadow-hover {
  transition: box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-shadow-hover:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}

.enhanced-border {
  border: 1px solid #e5e7eb;
}

.enhanced-border-primary {
  border: 1px solid #36E19F;
}

.enhanced-border-radius {
  border-radius: 0.5rem;
}

.enhanced-bg-gradient {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
}

.enhanced-bg-glass {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
}

.enhanced-text-gradient {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.enhanced-hover-lift {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-hover-lift:hover {
  transform: translateY(-2px);
}

.enhanced-hover-scale {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.enhanced-hover-scale:hover {
  transform: scale(1.05);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admo-app {
  min-height: 100vh;
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  font-family: "Inter", system-ui, -apple-system, sans-serif;
  color: #111827;
  line-height: 1.5;
}
.admo-app.animated-bg {
  background: linear-gradient(-45deg, #e3f2fd, #f3e5f5, #e8f5e8, #fff3e0);
  background-size: 400% 400%;
  animation: gradient-shift 15s ease infinite;
}
@keyframes gradient-shift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}

.main-layout {
  display: grid;
  grid-template-areas: "sidebar header" "sidebar content";
  grid-template-columns: 280px 1fr;
  grid-template-rows: auto 1fr;
  min-height: 100vh;
  max-width: 100vw;
  overflow-x: hidden;
  transition: grid-template-columns 300ms cubic-bezier(0, 0, 0.2, 1);
}
@media (max-width: 991px) {
  .main-layout {
    grid-template-areas: "header" "content";
    grid-template-columns: 1fr;
    grid-template-rows: auto 1fr;
  }
  .main-layout .sidebar {
    transform: translateX(-100%);
    position: fixed;
    z-index: 1050;
    height: 100vh;
  }
  .main-layout .sidebar.sidebar-open {
    transform: translateX(0);
  }
}
@media (max-width: 767px) {
  .main-layout {
    grid-template-columns: 1fr;
  }
}

.main-layout.sidebar-collapsed {
  grid-template-columns: 80px 1fr;
}
@media (max-width: 991px) {
  .main-layout.sidebar-collapsed {
    grid-template-columns: 1fr;
  }
}
.main-layout.sidebar-hidden {
  grid-template-columns: 1fr;
}
.main-layout.sidebar-hidden .sidebar {
  transform: translateX(-100%);
}

.mobile-sidebar-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: rgba(17, 24, 39, 0.5);
  backdrop-filter: blur(4px);
  z-index: 1040;
  opacity: 0;
  visibility: hidden;
  transition: opacity 300ms cubic-bezier(0, 0, 0.2, 1), visibility 300ms cubic-bezier(0, 0, 0.2, 1);
}
.mobile-sidebar-overlay.active {
  opacity: 1;
  visibility: visible;
}
@media (min-width: 992px) {
  .mobile-sidebar-overlay {
    display: none;
  }
}

.content-wrapper {
  grid-area: content;
  padding: 1.5rem;
  min-height: calc(100vh - 80px);
  background: transparent;
  position: relative;
  overflow-y: auto;
}
.content-wrapper::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.content-wrapper::-webkit-scrollbar-track {
  background: rgba(229, 231, 235, 0.5);
  border-radius: 9999px;
}
.content-wrapper::-webkit-scrollbar-thumb {
  background: rgba(156, 163, 175, 0.7);
  border-radius: 9999px;
}
.content-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgba(127.7932960894, 136.7877094972, 152.2067039106, 0.7);
}
@media (max-width: 991px) {
  .content-wrapper {
    padding: 1rem;
  }
}
@media (max-width: 767px) {
  .content-wrapper {
    padding: 0.75rem;
  }
}
.content-wrapper > * {
  animation: content-fade-in 0.6s cubic-bezier(0, 0, 0.2, 1);
}
@keyframes content-fade-in {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.page-container {
  max-width: 1400px;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}
.page-container.container-fluid {
  max-width: none;
  padding: 0 1rem;
}
.page-container.container-narrow {
  max-width: 800px;
}
.page-container.container-wide {
  max-width: 1600px;
}

.glass-container, .admo-card.card-glass, .customer-card.card-glass, .admo-centered.glass, .content-card.card-glass {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.2);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-radius: 1rem;
}
.glass-container.glass-dark, .glass-dark.admo-card.card-glass, .glass-dark.customer-card.card-glass, .glass-dark.admo-centered.glass, .glass-dark.content-card.card-glass {
  background: rgba(17, 24, 39, 0.85);
  color: white;
  border-color: rgba(255, 255, 255, 0.1);
}

.grid-layout {
  display: grid;
  gap: 1.5rem;
}
.grid-layout.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .grid-layout.grid-2 {
    grid-template-columns: 1fr;
  }
}
.grid-layout.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991px) {
  .grid-layout.grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .grid-layout.grid-3 {
    grid-template-columns: 1fr;
  }
}
.grid-layout.grid-4 {
  grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1199px) {
  .grid-layout.grid-4 {
    grid-template-columns: repeat(3, 1fr);
  }
}
@media (max-width: 991px) {
  .grid-layout.grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .grid-layout.grid-4 {
    grid-template-columns: 1fr;
  }
}
.grid-layout.grid-auto {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
}

.layout-section {
  margin-bottom: 2rem;
}
.layout-section:last-child {
  margin-bottom: 0;
}

.layout-divider {
  height: 1px;
  background: linear-gradient(90deg, transparent, #e5e7eb, transparent);
  margin: 2rem 0;
}
.layout-divider.divider-thick {
  height: 2px;
  background: linear-gradient(90deg, transparent, #d1d5db, transparent);
}
.layout-divider.divider-primary {
  background: linear-gradient(90deg, transparent, #36E19F, transparent);
}

.layout-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}
.layout-loading .loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #e5e7eb;
  border-top: 3px solid #36E19F;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.sticky-top {
  position: sticky;
  top: 1rem;
  z-index: 1020;
}

.sticky-bottom {
  position: sticky;
  bottom: 1rem;
  z-index: 1020;
}

.floating-element, .floating-fab {
  position: fixed;
  z-index: 1030;
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), opacity 300ms cubic-bezier(0, 0, 0.2, 1);
}
.floating-element.floating-hidden, .floating-hidden.floating-fab {
  transform: translateY(100px);
  opacity: 0;
}

.floating-fab {
  bottom: 1.5rem;
  right: 1.5rem;
  width: 56px;
  height: 56px;
  border-radius: 50%;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(54, 225, 159, 0.39);
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.floating-fab:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.floating-fab:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.floating-fab:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.floating-fab:hover {
  transform: translateY(-2px) scale(1.05);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
@media (max-width: 767px) {
  .floating-fab {
    width: 48px;
    height: 48px;
    bottom: 1rem;
    right: 1rem;
  }
}

.layout-breadcrumb {
  margin-bottom: 1.5rem;
  padding: 0.75rem 0;
}
.layout-breadcrumb .breadcrumb-item {
  display: inline-flex;
  align-items: center;
  color: #4b5563;
  font-size: 0.875rem;
}
.layout-breadcrumb .breadcrumb-item:not(:last-child)::after {
  content: "/";
  margin: 0 0.5rem;
  color: #9ca3af;
}
.layout-breadcrumb .breadcrumb-item.active {
  color: #111827;
  font-weight: 500;
}
.layout-breadcrumb .breadcrumb-item:hover:not(.active) {
  color: #36E19F;
}

@media (prefers-color-scheme: dark) {
  .admo-app {
    background: linear-gradient(135deg, #1a1a2e 0%, #16213e 100%);
    color: white;
  }
  .content-wrapper {
    background: rgba(255, 255, 255, 0.02);
  }
  .glass-container, .admo-card.card-glass, .customer-card.card-glass, .admo-centered.glass, .content-card.card-glass {
    background: rgba(255, 255, 255, 0.1);
    color: white;
    border-color: rgba(255, 255, 255, 0.1);
  }
}
@media (prefers-reduced-motion: reduce) {
  .admo-app *,
  .admo-app *::before,
  .admo-app *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}
@media (prefers-contrast: high) {
  .admo-app .glass-container, .admo-app .admo-card.card-glass, .admo-app .customer-card.card-glass, .admo-app .admo-centered.glass, .admo-app .content-card.card-glass {
    background: white;
    border: 2px solid #111827;
  }
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.sidebar {
  grid-area: sidebar;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.9) 100%);
  backdrop-filter: blur(20px);
  border-right: 1px solid rgba(229, 231, 235, 0.8);
  box-shadow: 2px 0 20px rgba(0, 0, 0, 0.05), inset -1px 0 0 rgba(255, 255, 255, 0.5);
  display: flex;
  flex-direction: column;
  width: 280px;
  height: 100vh;
  position: relative;
  z-index: 1030;
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), width 300ms cubic-bezier(0, 0, 0.2, 1);
}
.sidebar::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}
.sidebar::-webkit-scrollbar-track {
  background: transparent;
  border-radius: 9999px;
}
.sidebar::-webkit-scrollbar-thumb {
  background: rgba(54, 225, 159, 0.3);
  border-radius: 9999px;
}
.sidebar::-webkit-scrollbar-thumb:hover {
  background: rgba(29.6103896104, 198.3896103896, 133.2467532468, 0.3);
}
.sidebar.collapsed {
  width: 80px;
}
.sidebar.collapsed .sidebar-header .logo-text,
.sidebar.collapsed .nav-item-text,
.sidebar.collapsed .nav-item-badge {
  opacity: 0;
  transform: translateX(-10px);
}
.sidebar.collapsed .nav-item {
  padding: 0.75rem;
  justify-content: center;
}
.sidebar.collapsed .nav-item .nav-item-content {
  min-width: auto;
}
@media (max-width: 991px) {
  .sidebar {
    position: fixed;
    top: 0;
    left: 0;
    height: 100vh;
    transform: translateX(-100%);
    z-index: 1050;
    box-shadow: 4px 0 20px rgba(0, 0, 0, 0.15);
  }
  .sidebar.open {
    transform: translateX(0);
  }
}

.sidebar-header {
  padding: 1.5rem 1.25rem;
  border-bottom: 1px solid rgba(229, 231, 235, 0.5);
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sidebar-header .logo-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.75rem;
}
.sidebar-header .logo-container .logo-icon {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 700;
  font-size: 1.125rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.sidebar-header .logo-container .logo-icon:hover {
  transform: rotate(5deg) scale(1.05);
  transition: transform 150ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.sidebar-header .logo-container .logo-text {
  font-size: 1.25rem;
  font-weight: 700;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  transition: opacity 300ms cubic-bezier(0, 0, 0.2, 1), transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.sidebar-header .sidebar-toggle {
  width: 36px;
  height: 36px;
  border: none;
  background: rgba(243, 244, 246, 0.8);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4b5563;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.sidebar-header .sidebar-toggle:hover {
  background: rgba(54, 225, 159, 0.1);
  color: #36E19F;
  transform: scale(1.05);
}
@media (max-width: 991px) {
  .sidebar-header .sidebar-toggle {
    display: none;
  }
}

.sidebar-nav {
  flex: 1;
  padding: 1rem 0;
  overflow-y: auto;
}
.sidebar-nav .nav-section {
  margin-bottom: 1.5rem;
}
.sidebar-nav .nav-section:last-child {
  margin-bottom: 0;
}
.sidebar-nav .nav-section-title {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #6b7280;
  padding: 0 1.25rem 0.5rem;
  margin-bottom: 0.5rem;
}
.sidebar-nav .nav-section-title::after {
  content: "";
  display: block;
  width: 40px;
  height: 2px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  margin-top: 0.5rem;
  border-radius: 9999px;
}

.nav-item {
  display: flex;
  align-items: center;
  padding: 0.75rem 1.25rem;
  margin: 0 0.5rem;
  border-radius: 0.5rem;
  color: #374151;
  text-decoration: none;
  font-weight: 500;
  font-size: 0.875rem;
  position: relative;
  overflow: hidden;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-item::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  opacity: 0.1;
  transition: left 300ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-item:hover::before {
  left: 0;
}
.nav-item:hover {
  color: #0891b2;
  background: rgba(54, 225, 159, 0.05);
  transform: translateX(4px);
}
.nav-item:hover .nav-item-icon {
  transform: scale(1.1);
  color: #36E19F;
}
.nav-item:hover .nav-item-badge {
  background: #36E19F;
  color: white;
}
.nav-item.active {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.nav-item.active::before {
  display: none;
}
.nav-item.active .nav-item-icon {
  color: white;
}
.nav-item.active .nav-item-badge {
  background: rgba(255, 255, 255, 0.2);
  color: white;
}
.nav-item.active::after {
  content: "";
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 4px;
  height: 20px;
  background: white;
  border-radius: 0 0.25rem 0.25rem 0;
}
.nav-item .nav-item-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  min-width: 180px;
  flex: 1;
}
.nav-item .nav-item-icon {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6b7280;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
  flex-shrink: 0;
}
.nav-item .nav-item-text {
  flex: 1;
  transition: opacity 300ms cubic-bezier(0, 0, 0.2, 1), transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-item .nav-item-badge {
  background: #e5e7eb;
  color: #4b5563;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 6px;
  border-radius: 9999px;
  min-width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-item.has-submenu .nav-item-arrow {
  margin-left: auto;
  color: #9ca3af;
  transition: transform 150ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-item.has-submenu .nav-item-arrow.expanded {
  transform: rotate(90deg);
}

.nav-submenu {
  max-height: 0;
  overflow: hidden;
  transition: max-height 300ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-submenu.expanded {
  max-height: 400px;
}
.nav-submenu .nav-item {
  margin-left: 2rem;
  padding-left: 1rem;
  font-size: 0.75rem;
}
.nav-submenu .nav-item::before {
  left: -2px;
  width: 2px;
  background: #36E19F;
  opacity: 0;
  transition: opacity 150ms cubic-bezier(0, 0, 0.2, 1);
}
.nav-submenu .nav-item:hover::before, .nav-submenu .nav-item.active::before {
  opacity: 1;
}

.sidebar-footer {
  padding: 1rem 1.25rem;
  border-top: 1px solid rgba(229, 231, 235, 0.5);
  background: rgba(255, 255, 255, 0.5);
}
.sidebar-footer .user-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
}
.sidebar-footer .user-info .user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 0.875rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.sidebar-footer .user-info .user-details {
  flex: 1;
  margin-left: 0.75rem;
}
.sidebar-footer .user-info .user-details .user-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #111827;
  margin-bottom: 2px;
}
.sidebar-footer .user-info .user-details .user-role {
  font-size: 0.75rem;
  color: #6b7280;
}
.sidebar-footer .user-info .user-menu-toggle {
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  color: #6b7280;
  cursor: pointer;
  border-radius: 0.25rem;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.sidebar-footer .user-info .user-menu-toggle:hover {
  background: rgba(243, 244, 246, 0.8);
  color: #374151;
}

[data-theme=dark] .sidebar {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.95) 0%, rgba(15, 23, 42, 0.9) 100%);
  border-right-color: rgba(255, 255, 255, 0.1);
  color: white;
}
[data-theme=dark] .sidebar .sidebar-header {
  background: rgba(30, 41, 59, 0.8);
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .sidebar .sidebar-footer {
  background: rgba(15, 23, 42, 0.5);
  border-top-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .sidebar .nav-item {
  color: #d1d5db;
}
[data-theme=dark] .sidebar .nav-item:hover {
  background: rgba(54, 225, 159, 0.15);
  color: #70ffcb;
}
[data-theme=dark] .sidebar .nav-item.active {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
}
[data-theme=dark] .sidebar .nav-section-title {
  color: #9ca3af;
}

@keyframes sidebar-slide-in {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes nav-item-highlight {
  0% {
    background: transparent;
  }
  50% {
    background: rgba(54, 225, 159, 0.1);
  }
  100% {
    background: transparent;
  }
}
.sidebar .nav-item.loading {
  pointer-events: none;
  opacity: 0.6;
}
.sidebar .nav-item.loading .nav-item-icon {
  animation: spin 1s linear infinite;
}
.sidebar .nav-item.notification {
  animation: nav-item-highlight 2s ease-out;
}
.sidebar.compact {
  width: 240px;
}
.sidebar.compact .nav-item {
  padding: 0.5rem 1rem;
  font-size: 0.75rem;
}
.sidebar.compact .sidebar-header {
  padding: 1rem;
}
.sidebar.compact .sidebar-header .logo-text {
  font-size: 1.125rem;
}

.sidebar .nav-item:focus {
  outline: 2px solid #36E19F;
  outline-offset: -2px;
  background: rgba(54, 225, 159, 0.1);
}
@media screen and (max-width: 0) {
  .sidebar .nav-item-text {
    position: absolute;
    left: -9999px;
  }
}
@media (prefers-reduced-motion: reduce) {
  .sidebar,
  .sidebar .nav-item,
  .sidebar .nav-item::before {
    transition: none;
  }
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.page-header {
  grid-area: header;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid rgba(229, 231, 235, 0.8);
  padding: 1rem 1.5rem;
  display: flex;
  align-items: center;
  justify-content: space-between;
  align-items: center;
  min-height: 80px;
  box-shadow: 0 2px 20px rgba(0, 0, 0, 0.05), inset 0 -1px 0 rgba(255, 255, 255, 0.5);
  position: sticky;
  top: 0;
  z-index: 1020;
}
@media (max-width: 991px) {
  .page-header {
    padding: 0.75rem 1rem;
    min-height: 70px;
  }
}
@media (max-width: 767px) {
  .page-header {
    padding: 0.75rem;
    min-height: 64px;
  }
}

.header-left {
  display: flex;
  align-items: center;
  gap: 1rem;
  flex: 1;
}
.header-left .mobile-menu-toggle {
  width: 40px;
  height: 40px;
  border: none;
  background: rgba(243, 244, 246, 0.8);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4b5563;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.header-left .mobile-menu-toggle:hover {
  background: rgba(54, 225, 159, 0.1);
  color: #36E19F;
  transform: scale(1.05);
}
@media (min-width: 992px) {
  .header-left .mobile-menu-toggle {
    display: none;
  }
}
@media (max-width: 575px) {
  .header-left .breadcrumb-container {
    display: none;
  }
}

.page-title {
  font-size: 1.875rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
  line-height: 1.25;
}
@media (max-width: 991px) {
  .page-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 767px) {
  .page-title {
    font-size: 1.25rem;
  }
}
.page-title.gradient-title {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.page-title.icon-title {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.page-title.icon-title .title-icon {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
@media (max-width: 767px) {
  .page-title.icon-title .title-icon {
    width: 28px;
    height: 28px;
  }
}

.page-subtitle {
  font-size: 1.125rem;
  font-weight: 500;
  color: #4b5563;
  margin: 0.5rem 0 0;
  line-height: 1.625;
}
@media (max-width: 991px) {
  .page-subtitle {
    font-size: 1rem;
  }
}
@media (max-width: 767px) {
  .page-subtitle {
    font-size: 0.875rem;
    margin-top: 0.25rem;
  }
}

.page-description {
  font-size: 1rem;
  color: #6b7280;
  margin: 0.75rem 0 0;
  line-height: 1.625;
  max-width: 600px;
}
@media (max-width: 767px) {
  .page-description {
    font-size: 0.875rem;
    margin-top: 0.5rem;
  }
}

.header-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 767px) {
  .header-actions {
    gap: 0.5rem;
  }
}

.header-search {
  position: relative;
  min-width: 300px;
}
@media (max-width: 991px) {
  .header-search {
    min-width: 200px;
  }
}
@media (max-width: 767px) {
  .header-search {
    display: none;
  }
}
.header-search .search-input {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  width: 100%;
  padding-left: 2.5rem;
  background: rgba(255, 255, 255, 0.9);
}
.header-search .search-input:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.header-search .search-input:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.header-search .search-input.error {
  border-color: #ef4444;
}
.header-search .search-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.header-search .search-input.success {
  border-color: #10b981;
}
.header-search .search-input.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.header-search .search-input::placeholder {
  color: #9ca3af;
}
.header-search .search-input:focus {
  background: white;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.header-search .search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  width: 20px;
  height: 20px;
}
.header-search .search-results {
  position: absolute;
  top: calc(100% + 0.5rem);
  left: 0;
  right: 0;
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border: 1px solid #e5e7eb;
  max-height: 400px;
  overflow-y: auto;
  z-index: 1000;
  opacity: 0;
  visibility: hidden;
  transform: translateY(-10px);
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.header-search .search-results.active {
  opacity: 1;
  visibility: visible;
  transform: translateY(0);
}

.header-notifications {
  position: relative;
}
.header-notifications .notification-button {
  width: 44px;
  height: 44px;
  border: none;
  background: rgba(243, 244, 246, 0.8);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #4b5563;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
  position: relative;
}
.header-notifications .notification-button:hover {
  background: rgba(54, 225, 159, 0.1);
  color: #36E19F;
  transform: scale(1.05);
}
.header-notifications .notification-button .notification-badge {
  position: absolute;
  top: -2px;
  right: -2px;
  width: 18px;
  height: 18px;
  background: #ef4444;
  color: white;
  border-radius: 50%;
  font-size: 0.75rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: 0 0 0 2px white;
  animation: pulse-notification 2s infinite;
}
@keyframes pulse-notification {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}

.header-user {
  position: relative;
}
.header-user .user-button {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.5rem 0.75rem;
  background: rgba(243, 244, 246, 0.8);
  border: none;
  border-radius: 0.5rem;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.header-user .user-button:hover {
  background: rgba(54, 225, 159, 0.1);
}
.header-user .user-button:hover .user-avatar {
  transform: scale(1.05);
}
.header-user .user-button .user-avatar {
  width: 36px;
  height: 36px;
  border-radius: 50%;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  font-weight: 600;
  font-size: 0.875rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  transition: transform 150ms cubic-bezier(0, 0, 0.2, 1);
}
.header-user .user-button .user-avatar img {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
}
@media (max-width: 767px) {
  .header-user .user-button .user-info {
    display: none;
  }
}
.header-user .user-button .user-info .user-name {
  font-weight: 500;
  font-size: 0.875rem;
  color: #111827;
  text-align: left;
  margin: 0;
}
.header-user .user-button .user-info .user-role {
  font-size: 0.75rem;
  color: #6b7280;
  text-align: left;
  margin: 0;
}
.header-user .user-button .dropdown-arrow {
  color: #9ca3af;
  transition: transform 150ms cubic-bezier(0, 0, 0.2, 1);
}
.header-user .user-button .dropdown-arrow.expanded {
  transform: rotate(180deg);
}

.section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1.5rem;
  padding-bottom: 1rem;
  border-bottom: 2px solid #f3f4f6;
  position: relative;
}
.section-header::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 60px;
  height: 2px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border-radius: 9999px;
}
@media (max-width: 767px) {
  .section-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.75rem;
    margin-bottom: 1rem;
  }
}
.section-header .section-title {
  font-size: 1.5rem;
  font-weight: 700;
  color: #111827;
  margin: 0;
}
@media (max-width: 991px) {
  .section-header .section-title {
    font-size: 1.25rem;
  }
}
.section-header .section-subtitle {
  font-size: 1rem;
  color: #4b5563;
  margin: 0.5rem 0 0;
}
@media (max-width: 767px) {
  .section-header .section-subtitle {
    font-size: 0.875rem;
    margin-top: 0.25rem;
  }
}
.section-header .section-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
@media (max-width: 767px) {
  .section-header .section-actions {
    width: 100%;
    justify-content: flex-end;
  }
}

.card-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.02) 0%, rgba(112, 255, 203, 0.01) 100%);
}
.card-header.header-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
  border-bottom-color: transparent;
}
.card-header.header-primary .card-title {
  color: white;
}
.card-header.header-primary .card-subtitle {
  color: rgba(255, 255, 255, 0.9);
}
.card-header .card-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.card-header .card-title.with-icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.card-header .card-title.with-icon .card-title-icon {
  width: 20px;
  height: 20px;
  color: #36E19F;
}
.card-header .card-subtitle {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.25rem 0 0;
}
.card-header .card-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: auto;
}
.card-header.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-header.header-flex .card-content {
  flex: 1;
}

.hero-header {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
  padding: 3rem 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.hero-header::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: url('data:image/svg+xml,<svg width="60" height="60" viewBox="0 0 60 60" xmlns="http://www.w3.org/2000/svg"><g fill="none" fill-rule="evenodd"><g fill="%23ffffff" fill-opacity="0.1"><circle cx="30" cy="30" r="1"/></g></svg>');
  animation: float-pattern 20s linear infinite;
}
@keyframes float-pattern {
  0% {
    transform: translateX(0) translateY(0);
  }
  100% {
    transform: translateX(-60px) translateY(-60px);
  }
}
.hero-header .hero-title {
  font-size: 2.25rem;
  font-weight: 900;
  margin: 0 0 1rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 991px) {
  .hero-header .hero-title {
    font-size: 1.875rem;
  }
}
@media (max-width: 767px) {
  .hero-header .hero-title {
    font-size: 1.5rem;
  }
}
.hero-header .hero-subtitle {
  font-size: 1.25rem;
  font-weight: 400;
  opacity: 0.9;
  max-width: 600px;
  margin: 0 auto;
  position: relative;
  z-index: 1;
}
@media (max-width: 991px) {
  .hero-header .hero-subtitle {
    font-size: 1.125rem;
  }
}
@media (max-width: 767px) {
  .hero-header .hero-subtitle {
    font-size: 1rem;
  }
}

[data-theme=dark] .page-header {
  background: rgba(30, 41, 59, 0.95);
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: white;
}
[data-theme=dark] .page-title,
[data-theme=dark] .section-title,
[data-theme=dark] .card-title {
  color: white;
}
[data-theme=dark] .page-subtitle,
[data-theme=dark] .page-description,
[data-theme=dark] .section-subtitle,
[data-theme=dark] .card-subtitle {
  color: #d1d5db;
}
[data-theme=dark] .header-search .search-input {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.2);
  color: white;
}
[data-theme=dark] .header-search .search-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}

.header-fade-in {
  animation: header-fade-in 0.6s cubic-bezier(0, 0, 0.2, 1);
}

@keyframes header-fade-in {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.page-header .header-search .search-input:focus,
.page-header .notification-button:focus,
.page-header .user-button:focus {
  outline: 2px solid #36E19F;
  outline-offset: 2px;
}
.page-header .notification-button:focus-visible,
.page-header .user-button:focus-visible {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.content-area {
  flex: 1;
  padding: 1.5rem;
  background: transparent;
  animation: content-slide-in 0.6s cubic-bezier(0, 0, 0.2, 1);
}
@media (max-width: 991px) {
  .content-area {
    padding: 1rem;
  }
}
@media (max-width: 767px) {
  .content-area {
    padding: 0.75rem;
  }
}
@keyframes content-slide-in {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

.content-container {
  max-width: 1200px;
  margin: 0 auto;
  width: 100%;
}
.content-container.container-full {
  max-width: none;
}
.content-container.container-narrow {
  max-width: 800px;
}
.content-container.container-wide {
  max-width: 1600px;
}
.content-container.container-fluid {
  max-width: none;
  padding: 0 1rem;
}

.content-section {
  margin-bottom: 2rem;
}
.content-section:last-child {
  margin-bottom: 0;
}
.content-section.section-spaced {
  margin-bottom: 3rem;
}
.content-section.section-compact {
  margin-bottom: 1rem;
}

.content-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  overflow: hidden;
}
.content-card:last-child {
  margin-bottom: 0;
}
.content-card.card-interactive {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
}
.content-card.card-interactive:hover:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.content-card.card-interactive:hover .card-content {
  transform: translateY(-2px);
}
.content-card.card-accent {
  border-left: 4px solid #36E19F;
}
.content-card.card-accent.accent-success {
  border-left-color: #10b981;
}
.content-card.card-accent.accent-warning {
  border-left-color: #f59e0b;
}
.content-card.card-accent.accent-error {
  border-left-color: #ef4444;
}
.content-card.card-gradient {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  border: none;
}
.content-card.card-gradient.gradient-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
}
.content-card.card-gradient.gradient-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  color: white;
}
.content-card.card-gradient.gradient-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  color: white;
}
.card-content {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.card-content .content-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 0.75rem;
}
.card-content .content-title.title-with-icon {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.card-content .content-title.title-with-icon .title-icon {
  width: 24px;
  height: 24px;
  color: #36E19F;
}
.card-content .content-description {
  font-size: 1rem;
  color: #4b5563;
  line-height: 1.625;
  margin: 0 0 1rem;
}
.card-content .content-description:last-child {
  margin-bottom: 0;
}
.card-content .content-meta {
  font-size: 0.875rem;
  color: #6b7280;
  margin-top: 1rem;
  padding-top: 1rem;
  border-top: 1px solid #e5e7eb;
}
.card-content .content-meta .meta-item {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  margin-right: 1rem;
}
.card-content .content-meta .meta-item:last-child {
  margin-right: 0;
}
.card-content .content-meta .meta-item .meta-icon {
  width: 16px;
  height: 16px;
}

.content-list {
  list-style: none;
  padding: 0;
  margin: 0;
}
.content-list .list-item {
  padding: 1rem;
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.content-list .list-item:last-child {
  border-bottom: none;
}
.content-list .list-item:hover {
  background: rgba(249, 250, 251, 0.8);
}
.content-list .list-item.item-active {
  background: rgba(54, 225, 159, 0.05);
  border-left: 4px solid #36E19F;
  padding-left: calc(1rem - 4px);
}
.content-list .list-item .item-content {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.content-list .list-item .item-content .item-icon {
  width: 40px;
  height: 40px;
  background: rgba(54, 225, 159, 0.1);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #36E19F;
  flex-shrink: 0;
}
.content-list .list-item .item-content .item-details {
  flex: 1;
}
.content-list .list-item .item-content .item-details .item-title {
  font-weight: 500;
  color: #111827;
  margin: 0 0 0.25rem;
}
.content-list .list-item .item-content .item-details .item-description {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0;
}
.content-list .list-item .item-content .item-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.content-list.list-compact .list-item {
  padding: 0.5rem 1rem;
}
.content-list.list-compact .list-item .item-content .item-icon {
  width: 32px;
  height: 32px;
}
.content-list.list-divided .list-item {
  margin-bottom: 1rem;
  border: 1px solid #e5e7eb;
  border-radius: 0.5rem;
}
.content-list.list-divided .list-item:last-child {
  margin-bottom: 0;
}

.content-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.content-table thead {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.05) 0%, rgba(112, 255, 203, 0.02) 100%);
}
.content-table thead th {
  padding: 1rem 1.25rem;
  text-align: left;
  font-weight: 600;
  color: #374151;
  font-size: 0.875rem;
  border-bottom: 2px solid #e5e7eb;
  position: relative;
}
.content-table thead th.sortable {
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.content-table thead th.sortable:hover {
  background: rgba(54, 225, 159, 0.08);
}
.content-table thead th.sortable::after {
  content: "";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 4px solid transparent;
  border-right: 4px solid transparent;
  border-bottom: 4px solid #9ca3af;
  opacity: 0.5;
}
.content-table thead th.sortable.sort-asc::after {
  border-bottom: 4px solid #36E19F;
  opacity: 1;
}
.content-table thead th.sortable.sort-desc::after {
  border-bottom: none;
  border-top: 4px solid #36E19F;
  opacity: 1;
}
.content-table tbody tr {
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.content-table tbody tr:hover {
  background: rgba(249, 250, 251, 0.8);
}
.content-table tbody tr.row-selected {
  background: rgba(54, 225, 159, 0.05);
}
.content-table tbody tr.row-highlighted {
  background: rgba(245, 158, 11, 0.1);
}
.content-table tbody td {
  padding: 1rem 1.25rem;
  border-bottom: 1px solid #e5e7eb;
  color: #1f2937;
  font-size: 0.875rem;
}
.content-table tbody td.cell-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
}
.content-table tbody td.cell-status .status-badge {
  display: inline-flex;
  align-items: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 500;
}
.content-table tbody td.cell-status .status-badge.status-active {
  background: rgba(16, 185, 129, 0.1);
  color: #059669;
}
.content-table tbody td.cell-status .status-badge.status-pending {
  background: rgba(245, 158, 11, 0.1);
  color: #d97706;
}
.content-table tbody td.cell-status .status-badge.status-inactive {
  background: rgba(156, 163, 175, 0.1);
  color: #4b5563;
}
.content-table tbody td.cell-status .status-badge .status-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}
.content-table.table-compact thead th,
.content-table.table-compact tbody td {
  padding: 0.5rem 0.75rem;
}
.content-table.table-borderless tbody td {
  border-bottom: none;
}
.content-table.table-striped tbody tr:nth-child(even) {
  background: rgba(249, 250, 251, 0.5);
}

.content-form .form-group {
  margin-bottom: 1.25rem;
}
.content-form .form-group:last-child {
  margin-bottom: 0;
}
.content-form .form-group .form-label {
  display: block;
  font-weight: 500;
  color: #374151;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.content-form .form-group .form-input {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  width: 100%;
}
.content-form .form-group .form-input:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.content-form .form-group .form-input:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.content-form .form-group .form-input.error {
  border-color: #ef4444;
}
.content-form .form-group .form-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.content-form .form-group .form-input.success {
  border-color: #10b981;
}
.content-form .form-group .form-input.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.content-form .form-group .form-help {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 0.25rem;
}
.content-form .form-group .form-error {
  font-size: 0.75rem;
  color: #ef4444;
  margin-top: 0.25rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.content-form .form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .content-form .form-row {
    grid-template-columns: 1fr;
  }
}
.content-form .form-actions {
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .content-form .form-actions {
    flex-direction: column-reverse;
  }
  .content-form .form-actions button {
    width: 100%;
  }
}

.stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .stats-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}

.stat-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
  padding: 1.25rem;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}
.stat-card .stat-icon {
  width: 48px;
  height: 48px;
  background: rgba(54, 225, 159, 0.1);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #36E19F;
  margin: 0 auto 0.75rem;
}
.stat-card .stat-value {
  font-size: 1.875rem;
  font-weight: 700;
  color: #111827;
  margin: 0 0 0.25rem;
  font-variant-numeric: tabular-nums;
}
.stat-card .stat-label {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0 0 0.5rem;
}
.stat-card .stat-change {
  font-size: 0.75rem;
  font-weight: 500;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
}
.stat-card .stat-change.positive {
  color: #10b981;
}
.stat-card .stat-change.negative {
  color: #ef4444;
}
.stat-card .stat-change.neutral {
  color: #6b7280;
}
.stat-card.stat-success::before {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
}
.stat-card.stat-success .stat-icon {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.stat-card.stat-warning::before {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
}
.stat-card.stat-warning .stat-icon {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}
.stat-card.stat-error::before {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}
.stat-card.stat-error .stat-icon {
  background: rgba(239, 68, 68, 0.1);
  color: #ef4444;
}

.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
}
.empty-state .empty-icon {
  width: 80px;
  height: 80px;
  background: rgba(209, 213, 219, 0.3);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  margin: 0 auto 1rem;
  font-size: 1.875rem;
}
.empty-state .empty-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #374151;
  margin: 0 0 0.5rem;
}
.empty-state .empty-description {
  font-size: 1rem;
  color: #6b7280;
  margin: 0 0 1.5rem;
  max-width: 400px;
  margin-left: auto;
  margin-right: auto;
}
.empty-state .empty-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
}
@media (max-width: 575px) {
  .empty-state .empty-actions {
    flex-direction: column;
    align-items: center;
  }
}

[data-theme=dark] .content-card {
  background: rgba(31, 41, 55, 0.8);
  border-color: rgba(255, 255, 255, 0.1);
  color: white;
}
[data-theme=dark] .content-card .content-title {
  color: white;
}
[data-theme=dark] .content-card .content-description {
  color: #d1d5db;
}
[data-theme=dark] .content-table {
  background: rgba(31, 41, 55, 0.9);
  color: white;
}
[data-theme=dark] .content-table thead {
  background: rgba(55, 65, 81, 0.5);
}
[data-theme=dark] .content-table thead th {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .content-table tbody td {
  border-bottom-color: rgba(255, 255, 255, 0.1);
  color: #e5e7eb;
}
[data-theme=dark] .content-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}
[data-theme=dark] .stat-card {
  background: rgba(31, 41, 55, 0.8);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .stat-card .stat-value {
  color: white;
}
[data-theme=dark] .stat-card .stat-label {
  color: #d1d5db;
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admo-flex-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}
.admo-flex-row.justify-start {
  justify-content: flex-start;
}
.admo-flex-row.justify-center {
  justify-content: center;
}
.admo-flex-row.justify-end {
  justify-content: flex-end;
}
.admo-flex-row.justify-between {
  justify-content: space-between;
}
.admo-flex-row.justify-around {
  justify-content: space-around;
}
.admo-flex-row.justify-evenly {
  justify-content: space-evenly;
}
.admo-flex-row.align-start {
  align-items: flex-start;
}
.admo-flex-row.align-center {
  align-items: center;
}
.admo-flex-row.align-end {
  align-items: flex-end;
}
.admo-flex-row.align-stretch {
  align-items: stretch;
}
.admo-flex-row.gap-none {
  gap: 0;
}
.admo-flex-row.gap-xs {
  gap: 0.25rem;
}
.admo-flex-row.gap-sm {
  gap: 0.5rem;
}
.admo-flex-row.gap-md {
  gap: 1rem;
}
.admo-flex-row.gap-lg {
  gap: 1.5rem;
}
.admo-flex-row.gap-xl {
  gap: 2rem;
}
@media (max-width: 767px) {
  .admo-flex-row.responsive {
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
  }
}
.admo-flex-row.animated > * {
  animation: flex-item-fade-in 0.4s cubic-bezier(0, 0, 0.2, 1);
  animation-fill-mode: both;
}
.admo-flex-row.animated > *:nth-child(1) {
  animation-delay: 0s;
}
.admo-flex-row.animated > *:nth-child(2) {
  animation-delay: 0.1s;
}
.admo-flex-row.animated > *:nth-child(3) {
  animation-delay: 0.2s;
}
.admo-flex-row.animated > *:nth-child(4) {
  animation-delay: 0.3s;
}
.admo-flex-row.animated > *:nth-child(5) {
  animation-delay: 0.4s;
}
.admo-flex-row.animated > *:nth-child(6) {
  animation-delay: 0.5s;
}
.admo-flex-row.animated > *:nth-child(7) {
  animation-delay: 0.6s;
}
.admo-flex-row.animated > *:nth-child(8) {
  animation-delay: 0.7s;
}
.admo-flex-row.animated > *:nth-child(9) {
  animation-delay: 0.8s;
}
.admo-flex-row.animated > *:nth-child(10) {
  animation-delay: 0.9s;
}
@keyframes flex-item-fade-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.admo-flex-row.wrap {
  flex-wrap: wrap;
}
.admo-flex-row.nowrap {
  flex-wrap: nowrap;
}
.admo-flex-row.interactive > * {
  transition: transform 150ms cubic-bezier(0, 0, 0.2, 1);
}
.admo-flex-row.interactive > *:hover {
  transform: translateY(-2px);
}

.admo-flex-column {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  width: 100%;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}
.admo-flex-column.justify-start {
  justify-content: flex-start;
}
.admo-flex-column.justify-center {
  justify-content: center;
}
.admo-flex-column.justify-end {
  justify-content: flex-end;
}
.admo-flex-column.justify-between {
  justify-content: space-between;
}
.admo-flex-column.justify-around {
  justify-content: space-around;
}
.admo-flex-column.justify-evenly {
  justify-content: space-evenly;
}
.admo-flex-column.align-start {
  align-items: flex-start;
}
.admo-flex-column.align-center {
  align-items: center;
}
.admo-flex-column.align-end {
  align-items: flex-end;
}
.admo-flex-column.align-stretch {
  align-items: stretch;
}
.admo-flex-column.gap-none {
  gap: 0;
}
.admo-flex-column.gap-xs {
  gap: 0.25rem;
}
.admo-flex-column.gap-sm {
  gap: 0.5rem;
}
.admo-flex-column.gap-md {
  gap: 1rem;
}
.admo-flex-column.gap-lg {
  gap: 1.5rem;
}
.admo-flex-column.gap-xl {
  gap: 2rem;
}
.admo-flex-column.full-height {
  height: 100%;
  min-height: 100vh;
}
.admo-flex-column.min-height {
  min-height: 400px;
}
.admo-flex-column.animated > * {
  animation: flex-item-slide-in 0.5s cubic-bezier(0, 0, 0.2, 1);
  animation-fill-mode: both;
}
.admo-flex-column.animated > *:nth-child(1) {
  animation-delay: 0s;
}
.admo-flex-column.animated > *:nth-child(2) {
  animation-delay: 0.1s;
}
.admo-flex-column.animated > *:nth-child(3) {
  animation-delay: 0.2s;
}
.admo-flex-column.animated > *:nth-child(4) {
  animation-delay: 0.3s;
}
.admo-flex-column.animated > *:nth-child(5) {
  animation-delay: 0.4s;
}
.admo-flex-column.animated > *:nth-child(6) {
  animation-delay: 0.5s;
}
.admo-flex-column.animated > *:nth-child(7) {
  animation-delay: 0.6s;
}
.admo-flex-column.animated > *:nth-child(8) {
  animation-delay: 0.7s;
}
.admo-flex-column.animated > *:nth-child(9) {
  animation-delay: 0.8s;
}
.admo-flex-column.animated > *:nth-child(10) {
  animation-delay: 0.9s;
}
@keyframes flex-item-slide-in {
  from {
    opacity: 0;
    transform: translateX(-20px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}

.admo-centered {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  padding: 1.5rem;
}
.admo-centered.full-screen {
  min-height: 100vh;
}
.admo-centered.with-background {
  background: linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);
  position: relative;
}
.admo-centered.with-background::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: radial-gradient(circle at 30% 70%, rgba(54, 225, 159, 0.1) 0%, transparent 50%), radial-gradient(circle at 70% 30%, rgba(112, 255, 203, 0.08) 0%, transparent 50%);
  pointer-events: none;
}
.admo-centered.animated > * {
  animation: centered-zoom-in 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
@keyframes centered-zoom-in {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
.admo-centered.column {
  flex-direction: column;
  gap: 1rem;
}
.admo-centered.row {
  flex-direction: row;
  gap: 1rem;
}
.admo-centered.glass {
  padding: 2rem;
  border-radius: 1rem;
  max-width: 500px;
  margin: 0 auto;
}

.admo-loader {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.admo-loader .loader-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid rgba(54, 225, 159, 0.2);
  border-top: 3px solid #36E19F;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.admo-loader .loader-spinner.size-sm {
  width: 24px;
  height: 24px;
  border-width: 2px;
}
.admo-loader .loader-spinner.size-lg {
  width: 56px;
  height: 56px;
  border-width: 4px;
}
.admo-loader .loader-spinner.color-success {
  border-color: rgba(16, 185, 129, 0.2);
  border-top-color: #10b981;
}
.admo-loader .loader-spinner.color-warning {
  border-color: rgba(245, 158, 11, 0.2);
  border-top-color: #f59e0b;
}
.admo-loader .loader-spinner.color-error {
  border-color: rgba(239, 68, 68, 0.2);
  border-top-color: #ef4444;
}
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
.admo-loader .loader-text {
  margin-top: 1rem;
  color: #4b5563;
  font-size: 0.875rem;
  font-weight: 500;
}
.admo-loader .loader-text.pulsing {
  animation: pulse-text 1.5s ease-in-out infinite;
}
@keyframes pulse-text {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admo-loader.skeleton .loader-spinner {
  display: none;
}
.admo-loader.skeleton .skeleton-lines {
  width: 100%;
  max-width: 300px;
}
.admo-loader.skeleton .skeleton-lines .skeleton-line {
  background: linear-gradient(90deg, #e5e7eb 25%, #f3f4f6 50%, #e5e7eb 75%);
  background-size: 200% 100%;
  height: 1rem;
  border-radius: 0.25rem;
  animation: ds-skeleton-loading 1.5s infinite;
  margin-bottom: 0.5rem;
}
.admo-loader.skeleton .skeleton-lines .skeleton-line:last-child {
  margin-bottom: 0;
  width: 70%;
}
.admo-loader.skeleton .skeleton-lines .skeleton-line.line-short {
  width: 60%;
}
.admo-loader.skeleton .skeleton-lines .skeleton-line.line-long {
  width: 90%;
}
.admo-loader.dots .loader-spinner {
  display: none;
}
.admo-loader.dots .loader-dots {
  display: flex;
  gap: 0.5rem;
}
.admo-loader.dots .loader-dots .dot {
  width: 8px;
  height: 8px;
  background: #36E19F;
  border-radius: 50%;
  animation: dot-bounce 1.4s ease-in-out infinite;
}
.admo-loader.dots .loader-dots .dot:nth-child(1) {
  animation-delay: -0.32s;
}
.admo-loader.dots .loader-dots .dot:nth-child(2) {
  animation-delay: -0.16s;
}
.admo-loader.dots .loader-dots .dot:nth-child(3) {
  animation-delay: 0s;
}
@keyframes dot-bounce {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}

.admo-container {
  width: 100%;
  margin: 0 auto;
  padding: 0 1rem;
}
.admo-container.size-sm {
  max-width: 640px;
}
.admo-container.size-md {
  max-width: 768px;
}
.admo-container.size-lg {
  max-width: 1024px;
}
.admo-container.size-xl {
  max-width: 1280px;
}
.admo-container.size-2xl {
  max-width: 1536px;
}
.admo-container.size-full {
  max-width: none;
}
.admo-container.padding-none {
  padding: 0;
}
.admo-container.padding-sm {
  padding: 0 0.5rem;
}
.admo-container.padding-lg {
  padding: 0 1.5rem;
}
.admo-container.padding-xl {
  padding: 0 2rem;
}
.admo-container.with-background {
  background: rgba(255, 255, 255, 0.8);
  backdrop-filter: blur(10px);
  border-radius: 1rem;
  padding: 1.5rem;
  margin-top: 1.5rem;
  margin-bottom: 1.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
}

.admo-divider {
  width: 100%;
  height: 1px;
  background: #e5e7eb;
  margin: 1.5rem 0;
  border: none;
}
.admo-divider.vertical {
  width: 1px;
  height: 100%;
  margin: 0 1.5rem;
}
.admo-divider.thick {
  height: 2px;
}
.admo-divider.dashed {
  background: none;
  border-top: 1px dashed #d1d5db;
}
.admo-divider.dotted {
  background: none;
  border-top: 1px dotted #d1d5db;
}
.admo-divider.gradient {
  background: linear-gradient(90deg, transparent 0%, #d1d5db 50%, transparent 100%);
}
.admo-divider.gradient-primary {
  background: linear-gradient(90deg, transparent 0%, #36E19F 50%, transparent 100%);
}
.admo-divider.with-text {
  position: relative;
  background: #d1d5db;
}
.admo-divider.with-text::before {
  content: attr(data-text);
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: white;
  padding: 0 1rem;
  font-size: 0.875rem;
  color: #6b7280;
  font-weight: 500;
}
.admo-divider.animated {
  background: linear-gradient(90deg, transparent 0%, #36E19F 50%, transparent 100%);
  background-size: 200% 100%;
  animation: divider-flow 3s ease-in-out infinite;
}
@keyframes divider-flow {
  0%, 100% {
    background-position: 200% 0;
  }
  50% {
    background-position: -200% 0;
  }
}

.admo-spacer.size-xs {
  height: 0.25rem;
}
.admo-spacer.size-sm {
  height: 0.5rem;
}
.admo-spacer.size-md {
  height: 1rem;
}
.admo-spacer.size-lg {
  height: 1.5rem;
}
.admo-spacer.size-xl {
  height: 2rem;
}
.admo-spacer.size-2xl {
  height: 3rem;
}
.admo-spacer.size-3xl {
  height: 4rem;
}
.admo-spacer.horizontal {
  height: auto;
}
.admo-spacer.horizontal.size-xs {
  width: 0.25rem;
}
.admo-spacer.horizontal.size-sm {
  width: 0.5rem;
}
.admo-spacer.horizontal.size-md {
  width: 1rem;
}
.admo-spacer.horizontal.size-lg {
  width: 1.5rem;
}
.admo-spacer.horizontal.size-xl {
  width: 2rem;
}
.admo-spacer.horizontal.size-2xl {
  width: 3rem;
}
.admo-spacer.horizontal.size-3xl {
  width: 4rem;
}

.admo-sticky {
  position: sticky;
  z-index: 1020;
}
.admo-sticky.top {
  top: 1rem;
}
.admo-sticky.bottom {
  bottom: 1rem;
}
.admo-sticky.with-background {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(10px);
  padding: 0.75rem;
  border-radius: 0.5rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}

[data-theme=dark] .admo-flex-row,
[data-theme=dark] .admo-flex-column,
[data-theme=dark] .admo-centered {
  color: white;
}
[data-theme=dark] .admo-loader .loader-text {
  color: #d1d5db;
}
[data-theme=dark] .admo-divider {
  background: rgba(255, 255, 255, 0.2);
}
[data-theme=dark] .admo-divider.gradient {
  background: linear-gradient(90deg, transparent 0%, rgba(255, 255, 255, 0.3) 50%, transparent 100%);
}
[data-theme=dark] .admo-divider.with-text::before {
  background: #1f2937;
  color: #d1d5db;
}
[data-theme=dark] .admo-container.with-background {
  background: rgba(31, 41, 55, 0.8);
}
[data-theme=dark] .admo-sticky.with-background {
  background: rgba(31, 41, 55, 0.95);
}

@media (prefers-reduced-motion: reduce) {
  .admo-flex-row.animated > *,
  .admo-flex-column.animated > *,
  .admo-centered.animated > * {
    animation: none;
  }
}
@media (prefers-contrast: high) {
  .admo-flex-row.with-background,
  .admo-flex-column.with-background,
  .admo-centered.with-background {
    border: 2px solid currentColor;
  }
}

.admo-container:focus-within,
.admo-flex-row:focus-within,
.admo-flex-column:focus-within {
  outline: 2px solid transparent;
}

.admo-loader .loader-text[aria-live] {
  position: relative;
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admin-page {
  min-height: calc(100vh - 140px);
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.02) 0%, rgba(112, 255, 203, 0.01) 50%, rgba(99, 102, 241, 0.01) 100%);
  padding: 1.5rem;
  position: relative;
}
.admin-page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 20% 50%, rgba(54, 225, 159, 0.1) 1px, transparent 1px), radial-gradient(circle at 80% 50%, rgba(112, 255, 203, 0.08) 1px, transparent 1px);
  background-size: 100px 100px, 120px 120px;
  background-position: 0 0, 50px 50px;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 991px) {
  .admin-page {
    padding: 1rem;
  }
}
@media (max-width: 767px) {
  .admin-page {
    padding: 0.75rem;
    min-height: calc(100vh - 120px);
  }
}

.admin-page-header {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(20px);
  border-radius: 1rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  border: 1px solid rgba(54, 225, 159, 0.1);
  position: relative;
  overflow: hidden;
}
.admin-page-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}
.admin-page-header .admin-page-title {
  font-size: 1.875rem;
  font-weight: 700;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
@media (max-width: 991px) {
  .admin-page-header .admin-page-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 767px) {
  .admin-page-header .admin-page-title {
    font-size: 1.25rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.admin-page-header .admin-page-title .page-icon {
  width: 40px;
  height: 40px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border-radius: 0.75rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
@media (max-width: 767px) {
  .admin-page-header .admin-page-title .page-icon {
    width: 36px;
    height: 36px;
  }
}
.admin-page-header .admin-page-subtitle {
  font-size: 1.125rem;
  color: #4b5563;
  margin: 0 0 1rem;
}
@media (max-width: 767px) {
  .admin-page-header .admin-page-subtitle {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.admin-page-header .admin-page-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
}
@media (max-width: 767px) {
  .admin-page-header .admin-page-actions {
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-end;
  }
}
.admin-page-header.header-flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .admin-page-header.header-flex {
    flex-direction: column;
    gap: 1rem;
  }
}
.admin-page-header.header-flex .header-content {
  flex: 1;
}
.admin-page-header.header-flex .admin-page-actions {
  flex-shrink: 0;
  margin-left: 1.5rem;
}
@media (max-width: 767px) {
  .admin-page-header.header-flex .admin-page-actions {
    margin-left: 0;
    width: 100%;
  }
}

.admin-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  border: 1px solid rgba(54, 225, 159, 0.1);
}
.admin-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-color: rgba(54, 225, 159, 0.2);
}
.admin-card.card-primary {
  border-left: 4px solid #36E19F;
}
.admin-card.card-primary .admin-card-header {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.05) 0%, rgba(112, 255, 203, 0.02) 100%);
}
.admin-card.card-success {
  border-left: 4px solid #10b981;
}
.admin-card.card-success .admin-card-header {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(16, 185, 129, 0.02) 100%);
}
.admin-card.card-warning {
  border-left: 4px solid #f59e0b;
}
.admin-card.card-warning .admin-card-header {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.05) 0%, rgba(245, 158, 11, 0.02) 100%);
}
.admin-card.card-error {
  border-left: 4px solid #ef4444;
}
.admin-card.card-error .admin-card-header {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.05) 0%, rgba(239, 68, 68, 0.02) 100%);
}
.admin-card.card-interactive {
  cursor: pointer;
}
.admin-card.card-interactive:hover {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.admin-card.card-interactive:active {
  transform: translateY(-2px) scale(0.99);
}

.admin-card-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(249, 250, 251, 0.5);
}
.admin-card-header .card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.admin-card-header .card-title .title-icon {
  width: 24px;
  height: 24px;
  color: #36E19F;
}
.admin-card-header .card-subtitle {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.25rem 0 0;
}
.admin-card-header .card-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: auto;
}
.admin-card-header.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-card-header.header-flex .header-content {
  flex: 1;
}

.admin-card-content {
  padding: 1.5rem;
}
.admin-card-content.content-compact {
  padding: 1rem;
}
.admin-card-content.content-spacious {
  padding: 2rem;
}

.admin-table-container {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(54, 225, 159, 0.1);
}
.admin-table-container .table-header {
  padding: 1rem 1.5rem;
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.05) 0%, rgba(112, 255, 203, 0.02) 100%);
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.admin-table-container .table-header .table-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.admin-table-container .table-header .table-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.admin-table-container .admin-table {
  width: 100%;
  border-collapse: collapse;
}
.admin-table-container .admin-table thead {
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.08) 0%, rgba(112, 255, 203, 0.03) 100%);
}
.admin-table-container .admin-table thead th {
  padding: 1rem 1.25rem;
  text-align: left;
  font-weight: 600;
  color: #374151;
  font-size: 0.875rem;
  border-bottom: 2px solid rgba(54, 225, 159, 0.2);
  position: relative;
}
.admin-table-container .admin-table thead th.sortable {
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.admin-table-container .admin-table thead th.sortable:hover {
  background: rgba(54, 225, 159, 0.12);
}
.admin-table-container .admin-table thead th.sortable::after {
  content: "↕";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 0.75rem;
}
.admin-table-container .admin-table thead th.sortable.sort-asc::after {
  content: "↑";
  color: #36E19F;
}
.admin-table-container .admin-table thead th.sortable.sort-desc::after {
  content: "↓";
  color: #36E19F;
}
.admin-table-container .admin-table tbody tr {
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
  border-bottom: 1px solid rgba(229, 231, 235, 0.8);
}
.admin-table-container .admin-table tbody tr:hover {
  background: rgba(54, 225, 159, 0.02);
}
.admin-table-container .admin-table tbody tr.row-selected {
  background: rgba(54, 225, 159, 0.08);
}
.admin-table-container .admin-table tbody tr.row-selected:hover {
  background: rgba(54, 225, 159, 0.12);
}
.admin-table-container .admin-table tbody tr.row-highlighted {
  background: rgba(245, 158, 11, 0.1);
  animation: row-highlight 2s ease-out;
}
.admin-table-container .admin-table tbody td {
  padding: 1rem 1.25rem;
  color: #1f2937;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(229, 231, 235, 0.5);
}
.admin-table-container .admin-table tbody td.cell-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.admin-table-container .admin-table tbody td.cell-actions {
  text-align: right;
}
.admin-table-container .admin-table tbody td.cell-actions .action-buttons {
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
}
.admin-table-container .admin-table tbody td.cell-actions .action-buttons button {
  height: 2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
  min-width: 32px;
  padding: 0.25rem;
}
@keyframes row-highlight {
  0% {
    background: rgba(245, 158, 11, 0.3);
  }
  100% {
    background: rgba(245, 158, 11, 0.1);
  }
}

.admin-form {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(54, 225, 159, 0.1);
}
.admin-form .form-section {
  margin-bottom: 2rem;
}
.admin-form .form-section:last-child {
  margin-bottom: 0;
}
.admin-form .form-section .section-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(54, 225, 159, 0.2);
  position: relative;
}
.admin-form .form-section .section-title::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 40px;
  height: 2px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}
.admin-form .form-section .section-description {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.5rem 0 1rem;
}
.admin-form .form-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.25rem;
}
@media (max-width: 767px) {
  .admin-form .form-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
  }
}
.admin-form .form-grid.grid-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .admin-form .form-grid.grid-2 {
    grid-template-columns: 1fr;
  }
}
.admin-form .form-grid.grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991px) {
  .admin-form .form-grid.grid-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .admin-form .form-grid.grid-3 {
    grid-template-columns: 1fr;
  }
}
.admin-form .form-group {
  margin-bottom: 1.25rem;
}
.admin-form .form-group:last-child {
  margin-bottom: 0;
}
.admin-form .form-group .form-label {
  display: block;
  font-weight: 500;
  color: #374151;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.admin-form .form-group .form-label.required::after {
  content: " *";
  color: #ef4444;
}
.admin-form .form-group .form-input {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  width: 100%;
}
.admin-form .form-group .form-input:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.admin-form .form-group .form-input:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.admin-form .form-group .form-input.error {
  border-color: #ef4444;
}
.admin-form .form-group .form-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.admin-form .form-group .form-input.success {
  border-color: #10b981;
}
.admin-form .form-group .form-input.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.admin-form .form-group .form-input.input-lg {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 3rem;
  padding: 1rem 1.25rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
}
.admin-form .form-group .form-input.input-lg:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.admin-form .form-group .form-input.input-lg:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.admin-form .form-group .form-input.input-lg.error {
  border-color: #ef4444;
}
.admin-form .form-group .form-input.input-lg.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.admin-form .form-group .form-input.input-lg.success {
  border-color: #10b981;
}
.admin-form .form-group .form-input.input-lg.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.admin-form .form-group .form-input.input-sm {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
}
.admin-form .form-group .form-input.input-sm:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.admin-form .form-group .form-input.input-sm:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.admin-form .form-group .form-input.input-sm.error {
  border-color: #ef4444;
}
.admin-form .form-group .form-input.input-sm.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.admin-form .form-group .form-input.input-sm.success {
  border-color: #10b981;
}
.admin-form .form-group .form-input.input-sm.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.admin-form .form-group .form-help {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.admin-form .form-group .form-help .help-icon {
  width: 14px;
  height: 14px;
  color: #9ca3af;
}
.admin-form .form-group .form-error {
  font-size: 0.75rem;
  color: #ef4444;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.admin-form .form-group .form-error .error-icon {
  width: 14px;
  height: 14px;
}
.admin-form .form-actions {
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .admin-form .form-actions {
    flex-direction: column-reverse;
  }
  .admin-form .form-actions button {
    width: 100%;
  }
}
.admin-form .form-actions .primary-action {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  box-shadow: 0 4px 14px 0 rgba(54, 225, 159, 0.39);
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
}
.admin-form .form-actions .primary-action:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.admin-form .form-actions .primary-action:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.admin-form .form-actions .primary-action:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.admin-form .form-actions .secondary-action {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
  background: transparent;
  border: 2px solid #d1d5db;
  color: #374151;
}
.admin-form .form-actions .secondary-action:hover {
  border-color: #36E19F;
  color: #36E19F;
  background: rgba(54, 225, 159, 0.05);
}

.admin-stats-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1.5rem;
  margin-bottom: 2rem;
}
@media (max-width: 767px) {
  .admin-stats-grid {
    grid-template-columns: 1fr;
    gap: 1rem;
    margin-bottom: 1.5rem;
  }
}

.admin-stat-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.75rem;
  padding: 1.5rem;
  text-align: center;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(54, 225, 159, 0.1);
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}
.admin-stat-card:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-color: rgba(54, 225, 159, 0.2);
}
.admin-stat-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}
.admin-stat-card .stat-icon {
  width: 56px;
  height: 56px;
  background: linear-gradient(135deg, rgba(54, 225, 159, 0.1) 0%, rgba(112, 255, 203, 0.05) 100%);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #36E19F;
  margin: 0 auto 1rem;
  font-size: 1.5rem;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.admin-stat-card .stat-icon:hover {
  transform: scale(1.1) rotate(5deg);
}
.admin-stat-card .stat-value {
  font-size: 2.25rem;
  font-weight: 900;
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 0.5rem;
  font-variant-numeric: tabular-nums;
}
@media (max-width: 767px) {
  .admin-stat-card .stat-value {
    font-size: 1.875rem;
  }
}
.admin-stat-card .stat-label {
  font-size: 1rem;
  color: #374151;
  font-weight: 500;
  margin: 0 0 0.75rem;
}
.admin-stat-card .stat-change {
  font-size: 0.875rem;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.25rem;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
}
.admin-stat-card .stat-change.positive {
  color: #059669;
  background: rgba(16, 185, 129, 0.1);
}
.admin-stat-card .stat-change.positive::before {
  content: "↗";
}
.admin-stat-card .stat-change.negative {
  color: #dc2626;
  background: rgba(239, 68, 68, 0.1);
}
.admin-stat-card .stat-change.negative::before {
  content: "↘";
}
.admin-stat-card .stat-change.neutral {
  color: #4b5563;
  background: rgba(156, 163, 175, 0.1);
}
.admin-stat-card .stat-change.neutral::before {
  content: "→";
}
.admin-stat-card.stat-success::before {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
}
.admin-stat-card.stat-success .stat-icon {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.1) 0%, rgba(16, 185, 129, 0.05) 100%);
  color: #10b981;
}
.admin-stat-card.stat-success .stat-value {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.admin-stat-card.stat-warning::before {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
}
.admin-stat-card.stat-warning .stat-icon {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.1) 0%, rgba(245, 158, 11, 0.05) 100%);
  color: #f59e0b;
}
.admin-stat-card.stat-warning .stat-value {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
.admin-stat-card.stat-error::before {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}
.admin-stat-card.stat-error .stat-icon {
  background: linear-gradient(135deg, rgba(239, 68, 68, 0.1) 0%, rgba(239, 68, 68, 0.05) 100%);
  color: #ef4444;
}
.admin-stat-card.stat-error .stat-value {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

[data-theme=dark] .admin-page {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(31, 41, 55, 0.9) 100%);
  color: white;
}
[data-theme=dark] .admin-page-header,
[data-theme=dark] .admin-card,
[data-theme=dark] .admin-form {
  background: rgba(31, 41, 55, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
  color: white;
}
[data-theme=dark] .admin-page-header .admin-page-title,
[data-theme=dark] .admin-page-header .card-title,
[data-theme=dark] .admin-page-header .section-title,
[data-theme=dark] .admin-card .admin-page-title,
[data-theme=dark] .admin-card .card-title,
[data-theme=dark] .admin-card .section-title,
[data-theme=dark] .admin-form .admin-page-title,
[data-theme=dark] .admin-form .card-title,
[data-theme=dark] .admin-form .section-title {
  color: white;
}
[data-theme=dark] .admin-page-header .admin-page-subtitle,
[data-theme=dark] .admin-page-header .card-subtitle,
[data-theme=dark] .admin-page-header .section-description,
[data-theme=dark] .admin-card .admin-page-subtitle,
[data-theme=dark] .admin-card .card-subtitle,
[data-theme=dark] .admin-card .section-description,
[data-theme=dark] .admin-form .admin-page-subtitle,
[data-theme=dark] .admin-form .card-subtitle,
[data-theme=dark] .admin-form .section-description {
  color: #d1d5db;
}
[data-theme=dark] .admin-table-container {
  background: rgba(31, 41, 55, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .admin-table-container .admin-table {
  color: white;
}
[data-theme=dark] .admin-table-container .admin-table thead {
  background: rgba(55, 65, 81, 0.5);
}
[data-theme=dark] .admin-table-container .admin-table thead th {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
[data-theme=dark] .admin-table-container .admin-table tbody td {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .admin-table-container .admin-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}
[data-theme=dark] .admin-stat-card {
  background: rgba(31, 41, 55, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .admin-stat-card .stat-label {
  color: #d1d5db;
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.customer-page {
  min-height: calc(100vh - 140px);
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.02) 0%, rgba(139, 92, 246, 0.01) 50%, rgba(54, 225, 159, 0.015) 100%);
  padding: 1.5rem;
  position: relative;
}
.customer-page::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-image: radial-gradient(circle at 25% 25%, rgba(99, 102, 241, 0.08) 2px, transparent 2px), radial-gradient(circle at 75% 75%, rgba(139, 92, 246, 0.06) 1px, transparent 1px);
  background-size: 80px 80px, 60px 60px;
  background-position: 0 0, 30px 30px;
  pointer-events: none;
  z-index: -1;
}
@media (max-width: 991px) {
  .customer-page {
    padding: 1rem;
  }
}
@media (max-width: 767px) {
  .customer-page {
    padding: 0.75rem;
    min-height: calc(100vh - 120px);
  }
}

.customer-page-header {
  margin-bottom: 2rem;
  padding: 1.5rem;
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(25px);
  border-radius: 1.5rem;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border: 1px solid rgba(99, 102, 241, 0.1);
  position: relative;
  overflow: hidden;
}
.customer-page-header::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}
.customer-page-header::before {
  content: "";
  position: absolute;
  top: -50%;
  right: -20%;
  width: 200px;
  height: 200px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.1) 0%, transparent 70%);
  border-radius: 50%;
  pointer-events: none;
}
.customer-page-header .customer-page-title {
  font-size: 1.875rem;
  font-weight: 700;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 991px) {
  .customer-page-header .customer-page-title {
    font-size: 1.5rem;
  }
}
@media (max-width: 767px) {
  .customer-page-header .customer-page-title {
    font-size: 1.25rem;
    flex-direction: column;
    align-items: flex-start;
    gap: 0.5rem;
  }
}
.customer-page-header .customer-page-title .page-icon {
  width: 44px;
  height: 44px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border-radius: 1rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  transition: transform 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.customer-page-header .customer-page-title .page-icon:hover {
  transform: rotate(-5deg) scale(1.1);
}
@media (max-width: 767px) {
  .customer-page-header .customer-page-title .page-icon {
    width: 40px;
    height: 40px;
  }
}
.customer-page-header .customer-page-subtitle {
  font-size: 1.125rem;
  color: #4b5563;
  margin: 0 0 1rem;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .customer-page-header .customer-page-subtitle {
    font-size: 1rem;
    margin-bottom: 0.75rem;
  }
}
.customer-page-header .customer-page-actions {
  display: flex;
  gap: 0.75rem;
  align-items: center;
  flex-wrap: wrap;
  position: relative;
  z-index: 1;
}
@media (max-width: 767px) {
  .customer-page-header .customer-page-actions {
    gap: 0.5rem;
    width: 100%;
    justify-content: flex-end;
  }
}
.customer-page-header.header-flex {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}
@media (max-width: 767px) {
  .customer-page-header.header-flex {
    flex-direction: column;
    gap: 1rem;
  }
}
.customer-page-header.header-flex .header-content {
  flex: 1;
}
.customer-page-header.header-flex .customer-page-actions {
  flex-shrink: 0;
  margin-left: 1.5rem;
}
@media (max-width: 767px) {
  .customer-page-header.header-flex .customer-page-actions {
    margin-left: 0;
    width: 100%;
  }
}

.customer-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.75rem;
  margin-bottom: 1.5rem;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  border: 1px solid rgba(99, 102, 241, 0.1);
  position: relative;
  overflow: hidden;
}
.customer-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border-radius: inherit;
  padding: 1px;
  mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  mask-composite: exclude;
  opacity: 0;
  transition: opacity 300ms cubic-bezier(0, 0, 0.2, 1);
}
.customer-card:hover {
  transform: translateY(-3px);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.customer-card:hover::before {
  opacity: 1;
}
.customer-card.card-primary {
  border-left: 4px solid #6366f1;
}
.customer-card.card-primary .customer-card-header {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.05) 0%, rgba(139, 92, 246, 0.02) 100%);
}
.customer-card.card-success {
  border-left: 4px solid #10b981;
}
.customer-card.card-success .customer-card-header {
  background: linear-gradient(135deg, rgba(16, 185, 129, 0.05) 0%, rgba(20, 184, 166, 0.02) 100%);
}
.customer-card.card-warning {
  border-left: 4px solid #f59e0b;
}
.customer-card.card-warning .customer-card-header {
  background: linear-gradient(135deg, rgba(245, 158, 11, 0.05) 0%, rgba(249, 115, 22, 0.02) 100%);
}
.customer-card.card-info {
  border-left: 4px solid #0ea5e9;
}
.customer-card.card-info .customer-card-header {
  background: linear-gradient(135deg, rgba(14, 165, 233, 0.05) 0%, rgba(6, 182, 212, 0.02) 100%);
}
.customer-card.card-interactive {
  cursor: pointer;
}
.customer-card.card-interactive:hover {
  transform: translateY(-6px) scale(1.02);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.customer-card.card-interactive:active {
  transform: translateY(-3px) scale(1.01);
}
.customer-card.card-glass {
  border: 1px solid rgba(255, 255, 255, 0.2);
}
.customer-card.card-glass:hover {
  background: rgba(255, 255, 255, 0.98);
}

.customer-card-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid rgba(229, 231, 235, 0.8);
  background: rgba(249, 250, 251, 0.3);
}
.customer-card-header .card-title {
  font-size: 1.25rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.75rem;
}
.customer-card-header .card-title .title-icon {
  width: 28px;
  height: 28px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: white;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
}
.customer-card-header .card-subtitle {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.5rem 0 0;
}
.customer-card-header .card-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: auto;
}
.customer-card-header.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.customer-card-header.header-flex .header-content {
  flex: 1;
}

.customer-card-content {
  padding: 1.5rem;
}
.customer-card-content.content-compact {
  padding: 1rem;
}
.customer-card-content.content-spacious {
  padding: 2rem;
}

.dashboard-widget {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.75rem;
  padding: 1.25rem;
  position: relative;
  overflow: hidden;
  border: 1px solid rgba(99, 102, 241, 0.1);
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}
.dashboard-widget:hover {
  transform: translateY(-2px);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-color: rgba(99, 102, 241, 0.2);
}
.dashboard-widget::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  width: 100px;
  height: 100px;
  background: radial-gradient(circle, rgba(99, 102, 241, 0.05) 0%, transparent 70%);
  border-radius: 50%;
  transform: translate(30%, -30%);
  pointer-events: none;
}
.dashboard-widget .widget-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 1rem;
  position: relative;
  z-index: 1;
}
.dashboard-widget .widget-header .widget-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.dashboard-widget .widget-header .widget-icon {
  width: 32px;
  height: 32px;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.1) 0%, rgba(139, 92, 246, 0.05) 100%);
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #6366f1;
}
.dashboard-widget .widget-content {
  position: relative;
  z-index: 1;
}
.dashboard-widget .widget-value {
  font-size: 1.875rem;
  font-weight: 900;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  margin: 0 0 0.5rem;
  font-variant-numeric: tabular-nums;
}
.dashboard-widget .widget-label {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0 0 0.75rem;
}
.dashboard-widget .widget-trend {
  display: flex;
  align-items: center;
  gap: 0.25rem;
  font-size: 0.75rem;
  font-weight: 500;
  padding: 0.25rem 0.5rem;
  border-radius: 9999px;
}
.dashboard-widget .widget-trend.trend-up {
  color: #10b981;
  background: rgba(16, 185, 129, 0.1);
}
.dashboard-widget .widget-trend.trend-up::before {
  content: "↗";
  font-size: 0.875rem;
}
.dashboard-widget .widget-trend.trend-down {
  color: #ef4444;
  background: rgba(244, 63, 94, 0.1);
}
.dashboard-widget .widget-trend.trend-down::before {
  content: "↘";
  font-size: 0.875rem;
}
.dashboard-widget .widget-trend.trend-stable {
  color: #4b5563;
  background: rgba(156, 163, 175, 0.1);
}
.dashboard-widget .widget-trend.trend-stable::before {
  content: "→";
  font-size: 0.875rem;
}

.customer-table-container {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  border-radius: 0.75rem;
  overflow: hidden;
  margin-bottom: 1.5rem;
  border: 1px solid rgba(99, 102, 241, 0.1);
}
.customer-table-container .table-header {
  padding: 1.25rem 1.5rem;
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.05) 0%, rgba(139, 92, 246, 0.02) 100%);
  border-bottom: 1px solid rgba(229, 231, 235, 0.8);
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.customer-table-container .table-header .table-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.customer-table-container .table-header .table-title .title-icon {
  width: 24px;
  height: 24px;
  color: #6366f1;
}
.customer-table-container .table-header .table-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
}
.customer-table-container .customer-table {
  width: 100%;
  border-collapse: collapse;
}
.customer-table-container .customer-table thead {
  background: linear-gradient(135deg, rgba(99, 102, 241, 0.06) 0%, rgba(139, 92, 246, 0.03) 100%);
}
.customer-table-container .customer-table thead th {
  padding: 1rem 1.25rem;
  text-align: left;
  font-weight: 600;
  color: #374151;
  font-size: 0.875rem;
  border-bottom: 2px solid rgba(99, 102, 241, 0.2);
  position: relative;
}
.customer-table-container .customer-table thead th.sortable {
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.customer-table-container .customer-table thead th.sortable:hover {
  background: rgba(99, 102, 241, 0.1);
}
.customer-table-container .customer-table thead th.sortable::after {
  content: "⇅";
  position: absolute;
  right: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 0.75rem;
}
.customer-table-container .customer-table thead th.sortable.sort-asc::after {
  content: "↑";
  color: #6366f1;
}
.customer-table-container .customer-table thead th.sortable.sort-desc::after {
  content: "↓";
  color: #6366f1;
}
.customer-table-container .customer-table tbody tr {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
  border-bottom: 1px solid rgba(229, 231, 235, 0.6);
}
.customer-table-container .customer-table tbody tr:hover {
  background: rgba(99, 102, 241, 0.02);
  transform: translateX(2px);
}
.customer-table-container .customer-table tbody tr.row-selected {
  background: rgba(99, 102, 241, 0.08);
}
.customer-table-container .customer-table tbody tr.row-selected:hover {
  background: rgba(99, 102, 241, 0.12);
}
.customer-table-container .customer-table tbody tr.row-new {
  background: rgba(16, 185, 129, 0.05);
  animation: row-new-highlight 3s ease-out;
}
.customer-table-container .customer-table tbody td {
  padding: 1rem 1.25rem;
  color: #1f2937;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(229, 231, 235, 0.4);
}
.customer-table-container .customer-table tbody td.cell-numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.5rem 0.75rem;
  border-radius: 9999px;
  font-size: 0.75rem;
  font-weight: 600;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator .status-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator .status-dot.pulse {
  animation: pulse-dot 2s infinite;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-active {
  background: rgba(16, 185, 129, 0.1);
  color: #10b981;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-active .status-dot {
  background: #10b981;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-pending {
  background: rgba(245, 158, 11, 0.1);
  color: #f59e0b;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-pending .status-dot {
  background: #f59e0b;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-inactive {
  background: rgba(156, 163, 175, 0.1);
  color: #4b5563;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-inactive .status-dot {
  background: #9ca3af;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-error {
  background: rgba(244, 63, 94, 0.1);
  color: #ef4444;
}
.customer-table-container .customer-table tbody td.cell-status .status-indicator.status-error .status-dot {
  background: #f43f5e;
}
.customer-table-container .customer-table tbody td.cell-actions {
  text-align: right;
}
.customer-table-container .customer-table tbody td.cell-actions .action-buttons {
  display: flex;
  gap: 0.25rem;
  justify-content: flex-end;
  opacity: 0;
  transition: opacity 150ms cubic-bezier(0, 0, 0.2, 1);
}
.customer-table-container .customer-table tbody td.cell-actions .action-buttons button {
  height: 2rem;
  padding: 0.5rem 0.75rem;
  font-size: 0.875rem;
  border-radius: 0.375rem;
  min-width: 28px;
  padding: 0.25rem;
  border-radius: 0.25rem;
}
.customer-table-container .customer-table tbody td:hover .action-buttons {
  opacity: 1;
}
@keyframes row-new-highlight {
  0% {
    background: rgba(16, 185, 129, 0.2);
  }
  100% {
    background: rgba(16, 185, 129, 0.05);
  }
}
@keyframes pulse-dot {
  0%, 100% {
    opacity: 1;
    transform: scale(1);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.2);
  }
}

.customer-form {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.75rem;
  border: 1px solid rgba(99, 102, 241, 0.1);
}
.customer-form .form-section {
  margin-bottom: 2rem;
}
.customer-form .form-section:last-child {
  margin-bottom: 0;
}
.customer-form .form-section .section-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 2px solid rgba(99, 102, 241, 0.2);
  position: relative;
}
.customer-form .form-section .section-title::after {
  content: "";
  position: absolute;
  bottom: -2px;
  left: 0;
  width: 50px;
  height: 2px;
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}
.customer-form .form-actions {
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .customer-form .form-actions {
    flex-direction: column-reverse;
  }
  .customer-form .form-actions button {
    width: 100%;
  }
}
.customer-form .form-actions .primary-action {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  border: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), transform 150ms cubic-bezier(0, 0, 0.2, 1);
  color: white;
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
}
.customer-form .form-actions .primary-action:hover {
  filter: brightness(0.95);
  transform: translateY(-1px);
}
.customer-form .form-actions .primary-action:active {
  transform: translateY(0);
  filter: brightness(0.9);
}
.customer-form .form-actions .primary-action:focus {
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
  outline: none;
}
.customer-form .form-actions .secondary-action {
  height: 3rem;
  padding: 1rem 1.5rem;
  font-size: 1.125rem;
  border-radius: 0.75rem;
  background: transparent;
  border: 2px solid #d1d5db;
  color: #374151;
}
.customer-form .form-actions .secondary-action:hover {
  border-color: #6366f1;
  color: #6366f1;
  background: rgba(99, 102, 241, 0.05);
}

[data-theme=dark] .customer-page {
  background: linear-gradient(135deg, rgba(17, 24, 39, 0.95) 0%, rgba(31, 41, 55, 0.9) 100%);
  color: white;
}
[data-theme=dark] .customer-page-header,
[data-theme=dark] .customer-card,
[data-theme=dark] .dashboard-widget,
[data-theme=dark] .customer-form {
  background: rgba(31, 41, 55, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
  color: white;
}
[data-theme=dark] .customer-page-header .customer-page-title,
[data-theme=dark] .customer-page-header .card-title,
[data-theme=dark] .customer-page-header .widget-title,
[data-theme=dark] .customer-page-header .section-title,
[data-theme=dark] .customer-card .customer-page-title,
[data-theme=dark] .customer-card .card-title,
[data-theme=dark] .customer-card .widget-title,
[data-theme=dark] .customer-card .section-title,
[data-theme=dark] .dashboard-widget .customer-page-title,
[data-theme=dark] .dashboard-widget .card-title,
[data-theme=dark] .dashboard-widget .widget-title,
[data-theme=dark] .dashboard-widget .section-title,
[data-theme=dark] .customer-form .customer-page-title,
[data-theme=dark] .customer-form .card-title,
[data-theme=dark] .customer-form .widget-title,
[data-theme=dark] .customer-form .section-title {
  color: white;
}
[data-theme=dark] .customer-page-header .customer-page-subtitle,
[data-theme=dark] .customer-page-header .card-subtitle,
[data-theme=dark] .customer-page-header .widget-label,
[data-theme=dark] .customer-card .customer-page-subtitle,
[data-theme=dark] .customer-card .card-subtitle,
[data-theme=dark] .customer-card .widget-label,
[data-theme=dark] .dashboard-widget .customer-page-subtitle,
[data-theme=dark] .dashboard-widget .card-subtitle,
[data-theme=dark] .dashboard-widget .widget-label,
[data-theme=dark] .customer-form .customer-page-subtitle,
[data-theme=dark] .customer-form .card-subtitle,
[data-theme=dark] .customer-form .widget-label {
  color: #d1d5db;
}
[data-theme=dark] .customer-table-container {
  background: rgba(31, 41, 55, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .customer-table-container .customer-table {
  color: white;
}
[data-theme=dark] .customer-table-container .customer-table thead {
  background: rgba(55, 65, 81, 0.5);
}
[data-theme=dark] .customer-table-container .customer-table thead th {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
[data-theme=dark] .customer-table-container .customer-table tbody td {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .customer-table-container .customer-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes ds-skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
@keyframes ds-pulse {
  0%, 100% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
}
.admo-form .form-field {
  margin-bottom: 1.25rem;
}
.admo-form .form-field:last-child {
  margin-bottom: 0;
}
.admo-form .form-field .field-label {
  display: block;
  font-weight: 500;
  color: #374151;
  margin-bottom: 0.5rem;
  font-size: 0.875rem;
}
.admo-form .form-field .field-label.required::after {
  content: " *";
  color: #ef4444;
}
.admo-form .form-field .field-label.optional::after {
  content: " (необязательно)";
  color: #6b7280;
  font-weight: 400;
  font-size: 0.75rem;
}
.admo-form .form-field .field-input {
  border: 1px solid #d1d5db;
  background: white;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1), box-shadow 150ms cubic-bezier(0, 0, 0.2, 1);
  height: 2.5rem;
  padding: 0.75rem 1rem;
  font-size: 1rem;
  border-radius: 0.5rem;
  width: 100%;
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}
.admo-form .form-field .field-input:focus {
  outline: none;
  border-color: #36E19F;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.admo-form .form-field .field-input:disabled {
  background: #f9fafb;
  color: #9ca3af;
  cursor: not-allowed;
}
.admo-form .form-field .field-input.error {
  border-color: #ef4444;
}
.admo-form .form-field .field-input.error:focus {
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.admo-form .form-field .field-input.success {
  border-color: #10b981;
}
.admo-form .form-field .field-input.success:focus {
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.admo-form .form-field .field-input:focus {
  transform: translateY(-1px);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(54, 225, 159, 0.1);
}
.admo-form .form-field .field-input.input-error {
  border-color: #ef4444;
}
.admo-form .form-field .field-input.input-error:focus {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(239, 68, 68, 0.1);
}
.admo-form .form-field .field-input.input-success {
  border-color: #10b981;
}
.admo-form .form-field .field-input.input-success:focus {
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06), 0 0 0 3px rgba(16, 185, 129, 0.1);
}
.admo-form .form-field .field-hint {
  font-size: 0.75rem;
  color: #6b7280;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.admo-form .form-field .field-hint .hint-icon {
  width: 14px;
  height: 14px;
  color: #9ca3af;
}
.admo-form .form-field .field-error {
  font-size: 0.75rem;
  color: #ef4444;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
  animation: error-shake 0.5s ease-out;
}
.admo-form .form-field .field-error .error-icon {
  width: 14px;
  height: 14px;
}
.admo-form .form-field .field-success {
  font-size: 0.75rem;
  color: #10b981;
  margin-top: 0.5rem;
  display: flex;
  align-items: center;
  gap: 0.25rem;
}
.admo-form .form-field .field-success .success-icon {
  width: 14px;
  height: 14px;
}
@keyframes error-shake {
  0%, 100% {
    transform: translateX(0);
  }
  25% {
    transform: translateX(-4px);
  }
  75% {
    transform: translateX(4px);
  }
}
.admo-form .form-group {
  margin-bottom: 1.5rem;
}
.admo-form .form-group:last-child {
  margin-bottom: 0;
}
.admo-form .form-group .group-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0 0 1rem;
  padding-bottom: 0.5rem;
  border-bottom: 1px solid #e5e7eb;
}
.admo-form .form-group .group-description {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.5rem 0 1rem;
}
.admo-form .form-row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 1rem;
  margin-bottom: 1.25rem;
}
@media (max-width: 767px) {
  .admo-form .form-row {
    grid-template-columns: 1fr;
  }
}
.admo-form .form-row.row-2 {
  grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 767px) {
  .admo-form .form-row.row-2 {
    grid-template-columns: 1fr;
  }
}
.admo-form .form-row.row-3 {
  grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 991px) {
  .admo-form .form-row.row-3 {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 767px) {
  .admo-form .form-row.row-3 {
    grid-template-columns: 1fr;
  }
}
.admo-form .form-actions {
  padding-top: 1.5rem;
  border-top: 1px solid #e5e7eb;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
@media (max-width: 767px) {
  .admo-form .form-actions {
    flex-direction: column-reverse;
  }
  .admo-form .form-actions button {
    width: 100%;
  }
}
.admo-form .form-actions.actions-left {
  justify-content: flex-start;
}
.admo-form .form-actions.actions-center {
  justify-content: center;
}
.admo-form .form-actions.actions-between {
  justify-content: space-between;
}

.admo-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  border-radius: 0.5rem;
  overflow: hidden;
  box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  border: 1px solid #e5e7eb;
}
.admo-table .table-wrapper {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
.admo-table .table-wrapper::-webkit-scrollbar {
  width: 6px;
  height: 6px;
}
.admo-table .table-wrapper::-webkit-scrollbar-track {
  background: #f3f4f6;
  border-radius: 9999px;
}
.admo-table .table-wrapper::-webkit-scrollbar-thumb {
  background: #9ca3af;
  border-radius: 9999px;
}
.admo-table .table-wrapper::-webkit-scrollbar-thumb:hover {
  background: rgb(127.7932960894, 136.7877094972, 152.2067039106);
}
.admo-table thead {
  background: linear-gradient(135deg, rgba(249, 250, 251, 0.8) 0%, rgba(243, 244, 246, 0.4) 100%);
}
.admo-table thead th {
  padding: 1rem 1.25rem;
  text-align: left;
  font-weight: 600;
  color: #374151;
  font-size: 0.875rem;
  border-bottom: 2px solid #e5e7eb;
  position: relative;
  white-space: nowrap;
}
.admo-table thead th.sortable {
  cursor: pointer;
  user-select: none;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1);
}
.admo-table thead th.sortable:hover {
  background: rgba(229, 231, 235, 0.5);
}
.admo-table thead th.sortable::after {
  content: "↕";
  position: absolute;
  right: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  font-size: 0.75rem;
  opacity: 0.7;
}
.admo-table thead th.sortable.sort-asc::after {
  content: "↑";
  color: #36E19F;
  opacity: 1;
}
.admo-table thead th.sortable.sort-desc::after {
  content: "↓";
  color: #36E19F;
  opacity: 1;
}
.admo-table thead th.numeric {
  text-align: right;
}
.admo-table thead th.center {
  text-align: center;
}
.admo-table tbody tr {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
  border-bottom: 1px solid rgba(229, 231, 235, 0.6);
}
.admo-table tbody tr:hover {
  background: rgba(249, 250, 251, 0.5);
}
.admo-table tbody tr.row-selected {
  background: rgba(54, 225, 159, 0.05);
}
.admo-table tbody tr.row-selected:hover {
  background: rgba(54, 225, 159, 0.08);
}
.admo-table tbody tr.row-disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.admo-table tbody tr.row-disabled:hover {
  background: transparent;
}
.admo-table tbody tr.row-new {
  background: rgba(16, 185, 129, 0.05);
  animation: table-row-new 2s ease-out;
}
.admo-table tbody tr.row-updated {
  background: rgba(245, 158, 11, 0.05);
  animation: table-row-updated 2s ease-out;
}
.admo-table tbody tr.row-error {
  background: rgba(239, 68, 68, 0.05);
}
.admo-table tbody td {
  padding: 1rem 1.25rem;
  color: #1f2937;
  font-size: 0.875rem;
  border-bottom: 1px solid rgba(229, 231, 235, 0.4);
}
.admo-table tbody td.numeric {
  text-align: right;
  font-variant-numeric: tabular-nums;
  font-weight: 500;
}
.admo-table tbody td.center {
  text-align: center;
}
.admo-table tbody td.bold {
  font-weight: 600;
}
.admo-table tbody td.muted {
  color: #6b7280;
}
.admo-table tbody td.nowrap {
  white-space: nowrap;
}
.admo-table tbody td.truncate {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 200px;
}
.admo-table.table-compact thead th,
.admo-table.table-compact tbody td {
  padding: 0.5rem 0.75rem;
}
.admo-table.table-spacious thead th,
.admo-table.table-spacious tbody td {
  padding: 1.5rem 2rem;
}
.admo-table.table-borderless tbody td {
  border-bottom: none;
}
.admo-table.table-striped tbody tr:nth-child(even) {
  background: rgba(249, 250, 251, 0.3);
}
.admo-table.table-hover tbody tr:hover {
  background: rgba(54, 225, 159, 0.05);
  transform: translateX(2px);
}
@keyframes table-row-new {
  0% {
    background: rgba(16, 185, 129, 0.2);
  }
  100% {
    background: rgba(16, 185, 129, 0.05);
  }
}
@keyframes table-row-updated {
  0% {
    background: rgba(245, 158, 11, 0.2);
  }
  100% {
    background: rgba(245, 158, 11, 0.05);
  }
}

.admo-card {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 2rem;
  border-radius: 0.5rem;
  margin-bottom: 1.5rem;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
}
.admo-card:last-child {
  margin-bottom: 0;
}
.admo-card.card-hover:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.admo-card.card-interactive {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  padding: 1.5rem;
  border-radius: 0.5rem;
  cursor: pointer;
}
.admo-card.card-interactive:hover:hover {
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  transform: translateY(-2px);
}
.admo-card.card-sm {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  padding: 1rem;
  border-radius: 0.375rem;
}
.admo-card.card-lg {
  background: white;
  border: 1px solid #e5e7eb;
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  border-radius: 0.75rem;
}
.admo-card.card-loading {
  pointer-events: none;
  opacity: 0.6;
}
.admo-card.card-loading .card-content {
  position: relative;
}
.admo-card.card-loading .card-content::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 32px;
  height: 32px;
  border: 3px solid rgba(54, 225, 159, 0.3);
  border-top: 3px solid #36E19F;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
.admo-card.card-error {
  border-color: #ef4444;
  background: rgba(239, 68, 68, 0.02);
}
.admo-card.card-success {
  border-color: #10b981;
  background: rgba(16, 185, 129, 0.02);
}
.admo-card.card-warning {
  border-color: #f59e0b;
  background: rgba(245, 158, 11, 0.02);
}

.card-header {
  padding: 1.25rem 1.5rem;
  border-bottom: 1px solid #e5e7eb;
  background: rgba(249, 250, 251, 0.5);
}
.card-header .header-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.card-header .header-subtitle {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0.25rem 0 0;
}
.card-header .header-actions {
  display: flex;
  gap: 0.5rem;
  align-items: center;
  margin-left: auto;
}
.card-header.header-flex {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-header.header-flex .header-content {
  flex: 1;
}

.card-content {
  padding: 1.5rem;
}
.card-content.content-compact {
  padding: 1rem;
}
.card-content.content-spacious {
  padding: 2rem;
}
.card-content.content-center {
  text-align: center;
}

.card-footer {
  padding: 1rem 1.5rem;
  border-top: 1px solid #e5e7eb;
  background: rgba(249, 250, 251, 0.3);
}
.card-footer.footer-actions {
  display: flex;
  gap: 0.5rem;
  justify-content: flex-end;
  align-items: center;
}

.admo-pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  margin: 1.5rem 0;
}
.admo-pagination .pagination-item {
  min-width: 40px;
  height: 40px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 0.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color 150ms cubic-bezier(0, 0, 0.2, 1), border-color 150ms cubic-bezier(0, 0, 0.2, 1), color 150ms cubic-bezier(0, 0, 0.2, 1);
  font-weight: 500;
  font-size: 0.875rem;
}
.admo-pagination .pagination-item:hover {
  border-color: #36E19F;
  color: #36E19F;
  background: rgba(54, 225, 159, 0.05);
}
.admo-pagination .pagination-item.active {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  border-color: #36E19F;
  color: white;
}
.admo-pagination .pagination-item.active:hover {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  color: white;
}
.admo-pagination .pagination-item.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.admo-pagination .pagination-item.disabled:hover {
  border-color: #d1d5db;
  color: #374151;
  background: white;
}
.admo-pagination .pagination-item.ellipsis {
  border: none;
  background: transparent;
  cursor: default;
}
.admo-pagination .pagination-item.ellipsis:hover {
  border: none;
  background: transparent;
  color: #374151;
}
.admo-pagination .pagination-info {
  font-size: 0.875rem;
  color: #4b5563;
  margin: 0 1rem;
}

.empty-state {
  text-align: center;
  padding: 3rem 1.5rem;
}
.empty-state .empty-icon {
  width: 120px;
  height: 120px;
  background: linear-gradient(135deg, rgba(209, 213, 219, 0.3) 0%, rgba(229, 231, 235, 0.2) 100%);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #9ca3af;
  margin: 0 auto 1.5rem;
  font-size: 2.25rem;
  position: relative;
}
.empty-state .empty-icon::after {
  content: "";
  position: absolute;
  inset: 8px;
  border: 2px dashed rgba(209, 213, 219, 0.5);
  border-radius: 50%;
}
.empty-state .empty-title {
  font-size: 1.5rem;
  font-weight: 600;
  color: #374151;
  margin: 0 0 0.75rem;
}
.empty-state .empty-description {
  font-size: 1rem;
  color: #6b7280;
  margin: 0 0 2rem;
  max-width: 500px;
  margin-left: auto;
  margin-right: auto;
  line-height: 1.625;
}
.empty-state .empty-actions {
  display: flex;
  gap: 0.75rem;
  justify-content: center;
}
@media (max-width: 575px) {
  .empty-state .empty-actions {
    flex-direction: column;
    align-items: center;
  }
}
.empty-state.empty-compact {
  padding: 2rem 1rem;
}
.empty-state.empty-compact .empty-icon {
  width: 80px;
  height: 80px;
  font-size: 1.5rem;
}
.empty-state.empty-compact .empty-title {
  font-size: 1.25rem;
}
.empty-state.empty-compact .empty-description {
  font-size: 0.875rem;
}

[data-theme=dark] .admo-form .field-label,
[data-theme=dark] .admo-form .group-title,
[data-theme=dark] .admo-form .header-title,
[data-theme=dark] .admo-card .field-label,
[data-theme=dark] .admo-card .group-title,
[data-theme=dark] .admo-card .header-title {
  color: white;
}
[data-theme=dark] .admo-form .field-hint,
[data-theme=dark] .admo-form .group-description,
[data-theme=dark] .admo-form .header-subtitle,
[data-theme=dark] .admo-card .field-hint,
[data-theme=dark] .admo-card .group-description,
[data-theme=dark] .admo-card .header-subtitle {
  color: #d1d5db;
}
[data-theme=dark] .admo-form .field-input,
[data-theme=dark] .admo-card .field-input {
  background: rgba(55, 65, 81, 0.5);
  border-color: rgba(255, 255, 255, 0.2);
  color: white;
}
[data-theme=dark] .admo-form .field-input::placeholder,
[data-theme=dark] .admo-card .field-input::placeholder {
  color: rgba(255, 255, 255, 0.5);
}
[data-theme=dark] .admo-table {
  background: rgba(31, 41, 55, 0.9);
  border-color: rgba(255, 255, 255, 0.1);
  color: white;
}
[data-theme=dark] .admo-table thead {
  background: rgba(55, 65, 81, 0.5);
}
[data-theme=dark] .admo-table thead th {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.2);
}
[data-theme=dark] .admo-table tbody td {
  color: #e5e7eb;
  border-bottom-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .admo-table tbody tr:hover {
  background: rgba(255, 255, 255, 0.05);
}
[data-theme=dark] .empty-state .empty-title {
  color: white;
}
[data-theme=dark] .empty-state .empty-description {
  color: #d1d5db;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(30px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(30px);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInDown {
  from {
    opacity: 0;
    transform: translateY(-100px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes shimmer {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}
.animate-fade-in-up {
  animation: fadeInUp 0.6s cubic-bezier(0, 0, 0.2, 1);
}

.animate-fade-in-left {
  animation: fadeInLeft 0.6s cubic-bezier(0, 0, 0.2, 1);
}

.animate-fade-in-right {
  animation: fadeInRight 0.6s cubic-bezier(0, 0, 0.2, 1);
}

.animate-slide-in-down {
  animation: slideInDown 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.animate-bounce-in {
  animation: bounceIn 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}

.animate-pulse, .attention-element, .loading-dots {
  animation: pulse 2s infinite;
}

.animate-delay-1 {
  animation-delay: 0.1s;
}

.animate-delay-2 {
  animation-delay: 0.2s;
}

.animate-delay-3 {
  animation-delay: 0.3s;
}

.animate-delay-4 {
  animation-delay: 0.4s;
}

.animate-delay-5 {
  animation-delay: 0.5s;
}

.hover-lift {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1), box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.hover-lift:hover {
  transform: translateY(-4px);
}

.hover-scale {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.hover-scale:hover {
  transform: scale(1.05);
}

.hover-glow {
  transition: box-shadow 300ms cubic-bezier(0, 0, 0.2, 1);
}
.hover-glow:hover {
  box-shadow: 0 0 20px rgba(54, 225, 159, 0.3);
}

.hover-rotate {
  transition: transform 300ms cubic-bezier(0, 0, 0.2, 1);
}
.hover-rotate:hover {
  transform: rotate(5deg);
}

.interactive-card {
  transition: all 300ms cubic-bezier(0, 0, 0.2, 1);
  cursor: pointer;
}
.interactive-card:hover {
  transform: translateY(-4px) scale(1.02);
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
}
.interactive-card:active {
  transform: translateY(-2px) scale(1.01);
}

.gradient-bg-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
}

.gradient-bg-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
}

.gradient-bg-success {
  background: linear-gradient(135deg, #10b981 0%, #10b981 100%);
}

.gradient-bg-warning {
  background: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
}

.gradient-bg-error {
  background: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

.gradient-text-primary {
  background: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.gradient-text-secondary {
  background: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.glass-light {
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(15px);
  border: 1px solid rgba(255, 255, 255, 0.2);
}

.glass-medium {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.3);
}

.glass-heavy {
  background: rgba(255, 255, 255, 0.5);
  backdrop-filter: blur(25px);
  border: 1px solid rgba(255, 255, 255, 0.4);
}

.glass-dark {
  background: rgba(0, 0, 0, 0.7);
  backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.responsive-text {
  font-size: clamp(0.875rem, 2vw, 1.125rem);
}

.responsive-title {
  font-size: clamp(1.5rem, 4vw, 3rem);
}

.responsive-subtitle {
  font-size: clamp(1rem, 2.5vw, 1.5rem);
}

.space-y-sm > * + * {
  margin-top: 0.5rem;
}

.space-y-md > * + * {
  margin-top: 1rem;
}

.space-y-lg > * + * {
  margin-top: 1.5rem;
}

.space-y-xl > * + * {
  margin-top: 2rem;
}

.space-x-sm > * + * {
  margin-left: 0.5rem;
}

.space-x-md > * + * {
  margin-left: 1rem;
}

.space-x-lg > * + * {
  margin-left: 1.5rem;
}

.space-x-xl > * + * {
  margin-left: 2rem;
}

.focus-ring:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(54, 225, 159, 0.3);
}

.focus-ring-success:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(16, 185, 129, 0.3);
}

.focus-ring-warning:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(245, 158, 11, 0.3);
}

.focus-ring-error:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(239, 68, 68, 0.3);
}

.sr-only {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  padding: 0 !important;
  margin: -1px !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.skip-link {
  position: absolute;
  top: -40px;
  left: 6px;
  background: #36E19F;
  color: white;
  padding: 8px;
  text-decoration: none;
  border-radius: 0.25rem;
  z-index: 1000;
}
.skip-link:focus {
  top: 6px;
  outline: 2px solid white;
  outline-offset: 2px;
}

.loading-shimmer {
  background-image: linear-gradient(90deg, rgba(229, 231, 235, 0) 0%, rgba(229, 231, 235, 0.5) 50%, rgba(229, 231, 235, 0) 100%);
  background-size: 200px 100%;
  background-repeat: no-repeat;
  animation: shimmer 1.5s infinite;
}

.skeleton-box {
  background: #e5e7eb;
  border-radius: 0.25rem;
  position: relative;
  overflow: hidden;
}
.skeleton-box::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.6), transparent);
  transform: translateX(-100%);
  animation: shimmer 1.5s infinite;
}

@media (max-width: 280px) {
  .main-layout {
    grid-template-columns: 1fr;
  }
  .main-layout .sidebar {
    transform: translateX(-100%);
  }
  .page-header {
    padding: 0.5rem;
    min-height: 56px;
  }
  .content-wrapper {
    padding: 0.5rem;
  }
}
@media (min-width: 1800px) {
  .main-layout {
    grid-template-columns: 320px 1fr;
  }
  .page-container {
    max-width: 1800px;
  }
}
@media print {
  .sidebar,
  .floating-fab,
  .page-header .header-actions {
    display: none !important;
  }
  .main-layout {
    grid-template-columns: 1fr !important;
  }
  .content-wrapper {
    padding: 0 !important;
  }
  * {
    background: white !important;
    color: black !important;
    box-shadow: none !important;
  }
}
[data-theme=dark] .glass-light {
  background: rgba(0, 0, 0, 0.6);
  border-color: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .glass-medium {
  background: rgba(0, 0, 0, 0.7);
  border-color: rgba(255, 255, 255, 0.15);
}
[data-theme=dark] .glass-heavy {
  background: rgba(0, 0, 0, 0.8);
  border-color: rgba(255, 255, 255, 0.2);
}
[data-theme=dark] .loading-shimmer,
[data-theme=dark] .skeleton-box {
  background-image: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.1) 50%, rgba(255, 255, 255, 0) 100%);
}
[data-theme=dark] .skeleton-box {
  background: rgba(255, 255, 255, 0.1);
}
[data-theme=dark] .skeleton-box::after {
  background-image: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  .animate-fade-in-up,
  .animate-fade-in-left,
  .animate-fade-in-right,
  .animate-slide-in-down,
  .animate-bounce-in,
  .animate-pulse,
  .attention-element,
  .loading-dots {
    animation: none;
  }
}
:root {
  --animation-duration-instant: 75ms;
  --animation-duration-fast: 150ms;
  --animation-duration-normal: 250ms;
  --animation-duration-slow: 350ms;
  --animation-duration-slower: 500ms;
  --animation-duration-slowest: 750ms;
  --animation-delay-none: 0ms;
  --animation-delay-short: 100ms;
  --animation-delay-normal: 200ms;
  --animation-delay-long: 300ms;
  --ease-linear: linear;
  --ease-in: cubic-bezier(0.4, 0, 1, 1);
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --ease-in-out: cubic-bezier(0.4, 0, 0.2, 1);
  --ease-in-sine: cubic-bezier(0.12, 0, 0.39, 0);
  --ease-out-sine: cubic-bezier(0.61, 1, 0.88, 1);
  --ease-in-out-sine: cubic-bezier(0.37, 0, 0.63, 1);
  --ease-in-quad: cubic-bezier(0.11, 0, 0.5, 0);
  --ease-out-quad: cubic-bezier(0.5, 1, 0.89, 1);
  --ease-in-out-quad: cubic-bezier(0.45, 0, 0.55, 1);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in-quart: cubic-bezier(0.5, 0, 0.75, 0);
  --ease-out-quart: cubic-bezier(0.25, 1, 0.5, 1);
  --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-in-quint: cubic-bezier(0.64, 0, 0.78, 0);
  --ease-out-quint: cubic-bezier(0.22, 1, 0.36, 1);
  --ease-in-out-quint: cubic-bezier(0.83, 0, 0.17, 1);
  --ease-in-expo: cubic-bezier(0.7, 0, 0.84, 0);
  --ease-out-expo: cubic-bezier(0.16, 1, 0.3, 1);
  --ease-in-out-expo: cubic-bezier(0.87, 0, 0.13, 1);
  --ease-in-circ: cubic-bezier(0.55, 0, 1, 0.45);
  --ease-out-circ: cubic-bezier(0, 0.55, 0.45, 1);
  --ease-in-out-circ: cubic-bezier(0.85, 0, 0.15, 1);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --ease-spring: cubic-bezier(0.175, 0.885, 0.32, 1.275);
  --ease-bounce: cubic-bezier(0.68, -0.55, 0.265, 1.55);
  --ease-smooth: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  --ease-sharp: cubic-bezier(0.4, 0, 0.6, 1);
  --scale-small: 0.95;
  --scale-normal: 1;
  --scale-large: 1.05;
  --scale-xl: 1.1;
  --scale-2xl: 1.25;
  --rotate-small: 1deg;
  --rotate-normal: 3deg;
  --rotate-large: 6deg;
  --rotate-xl: 12deg;
  --rotate-full: 360deg;
  --translate-small: 4px;
  --translate-normal: 8px;
  --translate-large: 16px;
  --translate-xl: 32px;
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --shadow-primary: 0 10px 25px rgba(54, 225, 159, 0.15);
  --shadow-primary-lg: 0 20px 40px rgba(54, 225, 159, 0.2);
  --shadow-secondary: 0 10px 25px rgba(8, 145, 178, 0.15);
  --shadow-danger: 0 10px 25px rgba(239, 68, 68, 0.15);
  --shadow-warning: 0 10px 25px rgba(245, 158, 11, 0.15);
  --shadow-success: 0 10px 25px rgba(34, 197, 94, 0.15);
  --shadow-inset-sm: inset 0 1px 2px 0 rgba(0, 0, 0, 0.05);
  --shadow-inset-md: inset 0 2px 4px 0 rgba(0, 0, 0, 0.06);
  --shadow-inset-lg: inset 0 4px 6px 0 rgba(0, 0, 0, 0.07);
  --blur-none: 0;
  --blur-sm: 4px;
  --blur-md: 8px;
  --blur-lg: 16px;
  --blur-xl: 24px;
  --blur-2xl: 40px;
  --blur-3xl: 64px;
  --opacity-0: 0;
  --opacity-5: 0.05;
  --opacity-10: 0.1;
  --opacity-20: 0.2;
  --opacity-25: 0.25;
  --opacity-30: 0.3;
  --opacity-40: 0.4;
  --opacity-50: 0.5;
  --opacity-60: 0.6;
  --opacity-70: 0.7;
  --opacity-75: 0.75;
  --opacity-80: 0.8;
  --opacity-90: 0.9;
  --opacity-95: 0.95;
  --opacity-100: 1;
  --fade-in: fadeIn var(--animation-duration-normal) var(--ease-out);
  --fade-out: fadeOut var(--animation-duration-normal) var(--ease-in);
  --fade-in-up: fadeInUp var(--animation-duration-normal) var(--ease-out);
  --fade-in-down: fadeInDown var(--animation-duration-normal) var(--ease-out);
  --fade-in-left: fadeInLeft var(--animation-duration-normal) var(--ease-out);
  --fade-in-right: fadeInRight var(--animation-duration-normal) var(--ease-out);
  --slide-in-up: slideInUp var(--animation-duration-normal) var(--ease-out);
  --slide-in-down: slideInDown var(--animation-duration-normal) var(--ease-out);
  --slide-in-left: slideInLeft var(--animation-duration-normal) var(--ease-out);
  --slide-in-right: slideInRight var(--animation-duration-normal) var(--ease-out);
  --slide-out-up: slideOutUp var(--animation-duration-normal) var(--ease-in);
  --slide-out-down: slideOutDown var(--animation-duration-normal) var(--ease-in);
  --scale-in: scaleIn var(--animation-duration-normal) var(--ease-out-back);
  --scale-out: scaleOut var(--animation-duration-normal) var(--ease-in-back);
  --zoom-in: zoomIn var(--animation-duration-normal) var(--ease-out);
  --zoom-out: zoomOut var(--animation-duration-normal) var(--ease-in);
  --bounce: bounce var(--animation-duration-slower) var(--ease-out);
  --bounce-in: bounceIn var(--animation-duration-slower) var(--ease-out);
  --bounce-out: bounceOut var(--animation-duration-normal) var(--ease-in);
  --rotate-in: rotateIn var(--animation-duration-slower) var(--ease-out);
  --rotate-out: rotateOut var(--animation-duration-normal) var(--ease-in);
  --spin: spin 1s var(--ease-linear) infinite;
  --spin-reverse: spinReverse 1s var(--ease-linear) infinite;
  --pulse: pulse 2s var(--ease-in-out) infinite;
  --heartbeat: heartbeat 1.5s var(--ease-in-out) infinite;
  --shimmer: shimmer 2s var(--ease-linear) infinite;
  --wave: wave 2s var(--ease-in-out) infinite;
  --shake: shake var(--animation-duration-slower) var(--ease-out);
  --head-shake: headShake var(--animation-duration-slower) var(--ease-out);
  --float: float 6s var(--ease-in-out) infinite;
  --float-slow: floatSlow 8s var(--ease-in-out) infinite;
  --float-horizontal: floatHorizontal 4s var(--ease-in-out) infinite;
  --glow: glow 2s var(--ease-in-out) infinite alternate;
  --glow-pulse: glowPulse 2s var(--ease-in-out) infinite;
  --button-press: buttonPress var(--animation-duration-fast) var(--ease-out);
  --wiggle: wiggle 1s var(--ease-out);
  --tada: tada 1s var(--ease-out);
  --flash: flash 2s var(--ease-in-out) infinite;
  --jello: jello 1s var(--ease-out);
  --gradient-shift: gradientShift 15s var(--ease-in-out) infinite;
  --rainbow-shift: rainbowShift 5s var(--ease-linear) infinite;
  --morph-circle-to-square: morphCircleToSquare var(--animation-duration-normal) var(--ease-in-out);
  --morph-square-to-circle: morphSquareToCircle var(--animation-duration-normal) var(--ease-in-out);
  --slide-up-fade-in: slideUpFadeIn var(--animation-duration-normal) var(--ease-out);
  --slide-down-fade-out: slideDownFadeOut var(--animation-duration-normal) var(--ease-in);
  --zoom-in-fade-in: zoomInFadeIn var(--animation-duration-normal) var(--ease-out);
  --zoom-out-fade-out: zoomOutFadeOut var(--animation-duration-normal) var(--ease-in);
  --mobile-duration-fast: 100ms;
  --mobile-duration-normal: 200ms;
  --mobile-duration-slow: 300ms;
  --desktop-duration-fast: var(--animation-duration-fast);
  --desktop-duration-normal: var(--animation-duration-normal);
  --desktop-duration-slow: var(--animation-duration-slow);
  --animation-primary-color: #36E19F;
  --animation-primary-light: #70ffcb;
  --animation-primary-dark: #0891b2;
  --animation-primary-darker: #0e7490;
  --animation-primary-rgb: 54, 225, 159;
  --animation-primary-light-rgb: 112, 255, 203;
  --animation-primary-dark-rgb: 8, 145, 178;
  --animation-primary-darker-rgb: 14, 116, 144;
  --animation-gradient-primary: linear-gradient(135deg, var(--animation-primary-color), var(--animation-primary-light));
  --animation-gradient-secondary: linear-gradient(135deg, var(--animation-primary-dark), var(--animation-primary-darker));
  --animation-gradient-rainbow: linear-gradient(45deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3);
  --will-change-transform: transform;
  --will-change-opacity: opacity;
  --will-change-auto: auto;
  --will-change-scroll: scroll-position;
  --gpu-acceleration: translateZ(0);
  --backface-visibility: hidden;
  --perspective: 1000px;
}

[data-theme=dark] {
  --shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, 0.3);
  --shadow-md: 0 4px 6px -1px rgba(0, 0, 0, 0.4), 0 2px 4px -1px rgba(0, 0, 0, 0.3);
  --shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, 0.4), 0 4px 6px -2px rgba(0, 0, 0, 0.3);
  --shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, 0.4), 0 10px 10px -5px rgba(0, 0, 0, 0.2);
  --shadow-2xl: 0 25px 50px -12px rgba(0, 0, 0, 0.5);
  --shadow-primary: 0 10px 25px rgba(54, 225, 159, 0.25);
  --shadow-primary-lg: 0 20px 40px rgba(54, 225, 159, 0.3);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --animation-duration-instant: 1ms;
    --animation-duration-fast: 1ms;
    --animation-duration-normal: 1ms;
    --animation-duration-slow: 1ms;
    --animation-duration-slower: 1ms;
    --animation-duration-slowest: 1ms;
    --spin: none;
    --spin-reverse: none;
    --pulse: none;
    --heartbeat: none;
    --shimmer: none;
    --wave: none;
    --float: none;
    --float-slow: none;
    --float-horizontal: none;
    --glow: none;
    --glow-pulse: none;
    --flash: none;
    --gradient-shift: none;
    --rainbow-shift: none;
  }
}
.performance-mode {
  --animation-duration-fast: 100ms;
  --animation-duration-normal: 150ms;
  --animation-duration-slow: 200ms;
  --shadow-primary: var(--shadow-sm);
  --shadow-primary-lg: var(--shadow-md);
  --blur-sm: 0;
  --blur-md: 0;
  --blur-lg: 0;
}

:root {
  --ds-primary: #36E19F;
  --ds-primary-light: #70ffcb;
  --ds-primary-dark: #0891b2;
  --ds-primary-darker: #0e7490;
  --ds-success: #10b981;
  --ds-warning: #f59e0b;
  --ds-error: #ef4444;
  --ds-info: #3b82f6;
  --ds-space-1: 0.25rem;
  --ds-space-2: 0.5rem;
  --ds-space-3: 0.75rem;
  --ds-space-4: 1rem;
  --ds-space-5: 1.25rem;
  --ds-space-6: 1.5rem;
  --ds-space-8: 2rem;
  --ds-space-12: 3rem;
  --ds-space-16: 4rem;
  --ds-radius-sm: 0.125rem;
  --ds-radius-base: 0.25rem;
  --ds-radius-md: 0.375rem;
  --ds-radius-lg: 0.5rem;
  --ds-radius-xl: 0.75rem;
  --ds-radius-full: 9999px;
  --ds-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  --ds-shadow-base: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  --ds-shadow-md: 0 10px 15px -3px rgba(0, 0, 0, 0.1), 0 4px 6px -2px rgba(0, 0, 0, 0.05);
  --ds-shadow-lg: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  --ds-shadow-xl: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  --ds-transition-fast: all 150ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-normal: all 300ms cubic-bezier(0, 0, 0.2, 1);
  --ds-transition-slow: all 500ms cubic-bezier(0, 0, 0.2, 1);
  --ds-gradient-primary: linear-gradient(135deg, #36E19F 0%, #70ffcb 100%);
  --ds-gradient-secondary: linear-gradient(135deg, #6366f1 0%, #8b5cf6 100%);
  --ds-gradient-success: linear-gradient(135deg, #10b981 0%, #10b981 100%);
  --ds-gradient-warning: linear-gradient(135deg, #f59e0b 0%, #f97316 100%);
  --ds-gradient-error: linear-gradient(135deg, #ef4444 0%, #f43f5e 100%);
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}
@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translateY(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translateY(-1.5rem);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translateX(-1.5rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translateX(1.5rem);
  }
  to {
    opacity: 1;
    transform: translateX(0);
  }
}
@keyframes slideInUp {
  from {
    transform: translateY(100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideInDown {
  from {
    transform: translateY(-100%);
  }
  to {
    transform: translateY(0);
  }
}
@keyframes slideInLeft {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes slideInRight {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
@keyframes scaleIn {
  from {
    opacity: 0;
    transform: scale(0.8);
  }
  to {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes scaleOut {
  from {
    opacity: 1;
    transform: scale(1);
  }
  to {
    opacity: 0;
    transform: scale(0.8);
  }
}
@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
  }
  to {
    transform: scale(1);
  }
}
@keyframes zoomOut {
  from {
    transform: scale(1);
  }
  50% {
    opacity: 1;
    transform: scale(0.3);
  }
  to {
    opacity: 0;
  }
}
@keyframes bounce {
  0%, 20%, 53%, 80%, 100% {
    transform: translate3d(0, 0, 0);
  }
  40%, 43% {
    transform: translate3d(0, -1.5rem, 0);
  }
  70% {
    transform: translate3d(0, -0.5rem, 0);
  }
  90% {
    transform: translate3d(0, -0.25rem, 0);
  }
}
@keyframes bounceIn {
  0% {
    opacity: 0;
    transform: scale(0.3);
  }
  50% {
    opacity: 1;
    transform: scale(1.05);
  }
  70% {
    transform: scale(0.9);
  }
  100% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes bounceOut {
  20% {
    transform: scale(0.9);
  }
  50%, 55% {
    opacity: 1;
    transform: scale(1.1);
  }
  100% {
    opacity: 0;
    transform: scale(0.3);
  }
}
@keyframes rotate {
  from {
    transform: rotate(0deg);
  }
  to {
    transform: rotate(360deg);
  }
}
@keyframes rotateIn {
  from {
    opacity: 0;
    transform: rotate(-200deg);
  }
  to {
    opacity: 1;
    transform: rotate(0deg);
  }
}
@keyframes rotateOut {
  from {
    opacity: 1;
    transform: rotate(0deg);
  }
  to {
    opacity: 0;
    transform: rotate(200deg);
  }
}
@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.05);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes heartbeat {
  0% {
    transform: scale(1);
  }
  14% {
    transform: scale(1.3);
  }
  28% {
    transform: scale(1);
  }
  42% {
    transform: scale(1.3);
  }
  70% {
    transform: scale(1);
  }
}
@keyframes glow {
  from {
    box-shadow: 0 0 5px #36E19F, 0 0 10px #36E19F, 0 0 15px #36E19F;
  }
  to {
    box-shadow: 0 0 10px #36E19F, 0 0 20px #36E19F, 0 0 30px #36E19F;
  }
}
@keyframes spinner {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes dots {
  0%, 80%, 100% {
    transform: scale(0);
  }
  40% {
    transform: scale(1);
  }
}
@keyframes wave {
  0%, 60%, 100% {
    transform: initial;
  }
  30% {
    transform: translateY(-0.5rem);
  }
}
@keyframes skeleton {
  0% {
    background-position: -200px 0;
  }
  100% {
    background-position: calc(200px + 100%) 0;
  }
}
@keyframes progressBar {
  0% {
    width: 0%;
  }
  100% {
    width: 100%;
  }
}
@keyframes shake {
  0%, 100% {
    transform: translateX(0);
  }
  10%, 30%, 50%, 70%, 90% {
    transform: translateX(-10px);
  }
  20%, 40%, 60%, 80% {
    transform: translateX(10px);
  }
}
@keyframes vibrate {
  0% {
    transform: translate(0);
  }
  20% {
    transform: translate(-2px, 2px);
  }
  40% {
    transform: translate(-2px, -2px);
  }
  60% {
    transform: translate(2px, 2px);
  }
  80% {
    transform: translate(2px, -2px);
  }
  100% {
    transform: translate(0);
  }
}
@keyframes float {
  0% {
    transform: translateY(0px);
  }
  50% {
    transform: translateY(-0.5rem);
  }
  100% {
    transform: translateY(0px);
  }
}
@keyframes hoverLift {
  from {
    transform: translateY(0) scale(1);
    box-shadow: 0 1px 3px 0 rgba(0, 0, 0, 0.1), 0 1px 2px 0 rgba(0, 0, 0, 0.06);
  }
  to {
    transform: translateY(-0.25rem) scale(1.02);
    box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  }
}
@keyframes flipInX {
  from {
    transform: perspective(400px) rotateX(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateX(-20deg);
  }
  60% {
    transform: perspective(400px) rotateX(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateX(-5deg);
  }
  to {
    transform: perspective(400px) rotateX(0deg);
    opacity: 1;
  }
}
@keyframes flipInY {
  from {
    transform: perspective(400px) rotateY(90deg);
    opacity: 0;
  }
  40% {
    transform: perspective(400px) rotateY(-20deg);
  }
  60% {
    transform: perspective(400px) rotateY(10deg);
    opacity: 1;
  }
  80% {
    transform: perspective(400px) rotateY(-5deg);
  }
  to {
    transform: perspective(400px) rotateY(0deg);
    opacity: 1;
  }
}
@keyframes gradientShift {
  0% {
    background-position: 0% 50%;
  }
  50% {
    background-position: 100% 50%;
  }
  100% {
    background-position: 0% 50%;
  }
}
@keyframes rainbowText {
  0% {
    background-position: 0% 50%;
  }
  100% {
    background-position: 100% 50%;
  }
}
@keyframes buttonPress {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(0.95);
  }
  100% {
    transform: scale(1);
  }
}
@keyframes ripple {
  0% {
    transform: scale(0);
    opacity: 1;
  }
  100% {
    transform: scale(4);
    opacity: 0;
  }
}
@keyframes slideToggle {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}
.animate-fadeIn {
  animation: fadeIn 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-fadeOut {
  animation: fadeOut 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-fadeInUp {
  animation: fadeInUp 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-fadeInDown {
  animation: fadeInDown 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-fadeInLeft {
  animation: fadeInLeft 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-fadeInRight {
  animation: fadeInRight 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-slideInUp {
  animation: slideInUp 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-slideInDown {
  animation: slideInDown 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-slideInLeft {
  animation: slideInLeft 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-slideInRight {
  animation: slideInRight 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-scaleIn {
  animation: scaleIn 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-scaleOut {
  animation: scaleOut 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-zoomIn {
  animation: zoomIn 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-zoomOut {
  animation: zoomOut 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-bounce {
  animation: bounce 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55) infinite;
}

.animate-bounceIn {
  animation: bounceIn 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-bounceOut {
  animation: bounceOut 500ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-rotate {
  animation: rotate 500ms linear infinite;
}

.animate-rotateIn {
  animation: rotateIn 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-rotateOut {
  animation: rotateOut 300ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-pulse, .attention-element, .loading-dots {
  animation: pulse 500ms cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-heartbeat {
  animation: heartbeat 500ms cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-glow {
  animation: glow 500ms cubic-bezier(0, 0, 0.2, 1) infinite alternate;
}

.animate-spinner {
  animation: spinner 300ms linear infinite;
}

.animate-dots {
  animation: dots 500ms cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-wave {
  animation: wave 500ms cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-skeleton, .skeleton-box {
  animation: skeleton 500ms linear infinite;
}

.animate-shake {
  animation: shake 150ms cubic-bezier(0, 0, 0.2, 1);
}

.animate-vibrate {
  animation: vibrate 150ms cubic-bezier(0, 0, 0.2, 1);
}

.animate-float, .floating-element, .floating-fab {
  animation: float 500ms cubic-bezier(0, 0, 0.2, 1) infinite;
}

.animate-flipInX {
  animation: flipInX 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-flipInY {
  animation: flipInY 300ms cubic-bezier(0.68, -0.55, 0.265, 1.55) forwards;
}

.animate-gradient {
  animation: gradientShift 3s ease infinite;
}

.animate-rainbow {
  animation: rainbowText 2s linear infinite;
}

.animate-hoverLift:hover {
  animation: hoverLift 150ms cubic-bezier(0, 0, 0.2, 1) forwards;
}

.animate-delay-100 {
  animation-delay: 100ms;
}

.animate-delay-200 {
  animation-delay: 200ms;
}

.animate-delay-300 {
  animation-delay: 300ms;
}

.animate-delay-500 {
  animation-delay: 500ms;
}

.animate-delay-700 {
  animation-delay: 700ms;
}

.animate-delay-1000 {
  animation-delay: 1000ms;
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
:root {
  --ease-out-cubic: cubic-bezier(0.33, 1, 0.68, 1);
  --ease-in-cubic: cubic-bezier(0.32, 0, 0.67, 0);
  --ease-in-out-cubic: cubic-bezier(0.65, 0, 0.35, 1);
  --ease-in-out-quart: cubic-bezier(0.76, 0, 0.24, 1);
  --ease-out-expo: cubic-bezier(0.19, 1, 0.22, 1);
  --ease-out-back: cubic-bezier(0.34, 1.56, 0.64, 1);
  --ease-in-back: cubic-bezier(0.36, 0, 0.66, -0.56);
  --ease-in-out-back: cubic-bezier(0.68, -0.6, 0.32, 1.6);
  --duration-fast: 150ms;
  --duration-normal: 250ms;
  --duration-slow: 350ms;
  --duration-slower: 500ms;
  --transition-fast: var(--duration-fast) var(--ease-out-cubic);
  --transition-normal: var(--duration-normal) var(--ease-out-cubic);
  --transition-slow: var(--duration-slow) var(--ease-out-cubic);
  --transition-bounce: var(--duration-normal) var(--ease-out-back);
  --transition-smooth: var(--duration-normal) var(--ease-in-out-quart);
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
@media (prefers-contrast: high) {
  :root {
    --transition-focus-shadow: 0 0 0 3px currentColor;
  }
  *:focus-visible {
    outline: 3px solid currentColor !important;
    outline-offset: 2px !important;
  }
}
@keyframes parallaxMove {
  0% {
    transform: translateZ(-1px) scale(2) translateX(0);
  }
  100% {
    transform: translateZ(-1px) scale(2) translateX(-100px);
  }
}
.parallax-slow {
  transform: translateZ(-1px) scale(2px);
  animation: parallaxMove 33.3333333333s linear infinite;
}

.parallax-medium {
  transform: translateZ(-1px) scale(2px);
  animation: parallaxMove 20s linear infinite;
}

.parallax-fast {
  transform: translateZ(-1px) scale(2px);
  animation: parallaxMove 12.5s linear infinite;
}

@keyframes floatParticle {
  0%, 100% {
    transform: translateY(0) translateX(0) scale(1);
    opacity: 0.6;
  }
  25% {
    transform: translateY(-20px) translateX(10px) scale(1.2);
    opacity: 0.8;
  }
  50% {
    transform: translateY(-10px) translateX(-10px) scale(0.8);
    opacity: 1;
  }
  75% {
    transform: translateY(-30px) translateX(5px) scale(1.1);
    opacity: 0.7;
  }
}
.effect-float {
  animation: float 6s ease-in-out infinite;
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-20px);
  }
}

.effect-float-slow {
  animation: float 8s ease-in-out infinite;
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-15px);
  }
}

.effect-float-fast {
  animation: float 4s ease-in-out infinite;
}
@keyframes float {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-25px);
  }
}

.effect-glow {
  box-shadow: 0 0 0 0 rgba(var(--primary-color, #36E19F), 0.7);
  animation: pulseGlow 2s infinite;
}
@keyframes pulseGlow {
  0% {
    box-shadow: 0 0 0 0 rgba(var(--primary-color, #36E19F), 0.7);
  }
  70% {
    box-shadow: 0 0 0 10px rgba(var(--primary-color, #36E19F), 0);
  }
  100% {
    box-shadow: 0 0 0 0 rgba(var(--primary-color, #36E19F), 0);
  }
}

.effect-neon {
  color: var(--primary-color, #36E19F);
  text-shadow: 0 0 5px var(--primary-color, #36E19F), 0 0 10px var(--primary-color, #36E19F), 0 0 20px var(--primary-color, #36E19F), 0 0 40px var(--primary-color, #36E19F);
  animation: neonFlicker 2s infinite alternate;
}
@keyframes neonFlicker {
  0%, 100% {
    text-shadow: 0 0 5px var(--primary-color, #36E19F), 0 0 10px var(--primary-color, #36E19F), 0 0 20px var(--primary-color, #36E19F), 0 0 40px var(--primary-color, #36E19F);
  }
  50% {
    text-shadow: 0 0 2px var(--primary-color, #36E19F), 0 0 5px var(--primary-color, #36E19F), 0 0 8px var(--primary-color, #36E19F), 0 0 12px var(--primary-color, #36E19F);
  }
}

.effect-particles {
  position: relative;
  overflow: hidden;
}
.effect-particles::before, .effect-particles::after {
  content: "";
  position: absolute;
  width: 4px;
  height: 4px;
  background: radial-gradient(circle, var(--primary-color, #36E19F) 0%, transparent 70%);
  border-radius: 50%;
  opacity: 0.6;
  animation: floatParticle 8s infinite ease-in-out;
}
.effect-particles::before {
  top: 20%;
  left: 20%;
  animation-delay: -2s;
}
.effect-particles::after {
  top: 80%;
  right: 20%;
  animation-delay: -4s;
}

.effect-ripple {
  position: relative;
  overflow: hidden;
}
.effect-ripple::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 0;
  height: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.5);
  transform: translate(-50%, -50%);
  transition: width 0.6s, height 0.6s;
}
.effect-ripple:active::after {
  width: 300px;
  height: 300px;
}

.effect-tilt {
  transition: transform 0.2s ease;
}
.effect-tilt:hover {
  transform: perspective(1000px) rotateX(10deg) rotateY(10deg);
}

.effect-magnetic {
  transition: transform 0.3s ease;
}
.effect-magnetic:hover {
  transform: translateY(-10px);
}

.effect-gradient-text {
  background: linear-gradient(45deg, #36E19F, #0891b2);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: gradientShift 3s ease infinite;
}

.effect-rainbow-text {
  background: linear-gradient(45deg, #ff0000, #ff7f00, #ffff00, #00ff00, #0000ff, #4b0082, #9400d3, #ff0000);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: rainbowShift 5s linear infinite;
}

.effect-loading-dots {
  display: inline-block;
}
.effect-loading-dots::after {
  content: "...";
  animation: loadingDots 1.5s steps(4, end) infinite;
}
@keyframes loadingDots {
  0%, 20% {
    color: rgba(0, 0, 0, 0);
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
  }
  40% {
    color: var(--text-color, #333);
    text-shadow: 0.25em 0 0 rgba(0, 0, 0, 0), 0.5em 0 0 rgba(0, 0, 0, 0);
  }
  60% {
    text-shadow: 0.25em 0 0 var(--text-color, #333), 0.5em 0 0 rgba(0, 0, 0, 0);
  }
  80%, 100% {
    text-shadow: 0.25em 0 0 var(--text-color, #333), 0.5em 0 0 var(--text-color, #333);
  }
}

.effect-3d-card {
  transform-style: preserve-3d;
  transition: transform 0.6s;
}
.effect-3d-card:hover {
  transform: rotateY(180deg);
}
.effect-3d-card .front,
.effect-3d-card .back {
  position: absolute;
  width: 100%;
  height: 100%;
  backface-visibility: hidden;
}
.effect-3d-card .back {
  transform: rotateY(180deg);
}

.effect-morphing-button {
  transition: all 0.3s cubic-bezier(0.23, 1, 0.32, 1);
}
.effect-morphing-button:hover {
  border-radius: 50px;
  transform: scale(1.1);
  background: linear-gradient(45deg, var(--primary-color, #36E19F), var(--primary-light-color, #70ffcb));
}

.effect-liquid-morph {
  border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
  animation: liquidMorph 8s ease-in-out infinite;
}
@keyframes liquidMorph {
  0%, 100% {
    border-radius: 60% 40% 30% 70%/60% 30% 70% 40%;
  }
  25% {
    border-radius: 30% 60% 70% 40%/50% 60% 30% 60%;
  }
  50% {
    border-radius: 50% 60% 30% 60%/30% 60% 70% 40%;
  }
  75% {
    border-radius: 40% 50% 60% 30%/70% 40% 50% 60%;
  }
}

.effect-border-glow {
  position: relative;
}
.effect-border-glow::before {
  content: "";
  position: absolute;
  top: -2px;
  left: -2px;
  right: -2px;
  bottom: -2px;
  background: linear-gradient(45deg, var(--primary-color, #36E19F), transparent, var(--primary-color, #36E19F));
  border-radius: inherit;
  opacity: 0;
  z-index: -1;
  transition: opacity 0.3s ease;
}
.effect-border-glow:hover::before {
  opacity: 1;
  animation: rotateBorder 2s linear infinite;
}
@keyframes rotateBorder {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}

.will-change-transform {
  will-change: transform;
}

.will-change-opacity {
  will-change: opacity;
}

.will-change-auto {
  will-change: auto;
}

.gpu-accelerated {
  transform: translateZ(0);
  backface-visibility: hidden;
  perspective: 1000;
}

.animate-fade-in {
  animation: var(--fade-in);
}

.animate-fade-out {
  animation: var(--fade-out);
}

.animate-fade-in-up {
  animation: var(--fade-in-up);
}

.animate-fade-in-down {
  animation: var(--fade-in-down);
}

.animate-fade-in-left {
  animation: var(--fade-in-left);
}

.animate-fade-in-right {
  animation: var(--fade-in-right);
}

.animate-fade-in-fast {
  animation: fadeIn var(--animation-duration-fast) var(--ease-out);
}

.animate-fade-in-slow {
  animation: fadeIn var(--animation-duration-slow) var(--ease-out);
}

.animate-slide-in-up {
  animation: var(--slide-in-up);
}

.animate-slide-in-down {
  animation: var(--slide-in-down);
}

.animate-slide-in-left {
  animation: var(--slide-in-left);
}

.animate-slide-in-right {
  animation: var(--slide-in-right);
}

.animate-slide-out-up {
  animation: var(--slide-out-up);
}

.animate-slide-out-down {
  animation: var(--slide-out-down);
}

.animate-scale-in {
  animation: var(--scale-in);
}

.animate-scale-out {
  animation: var(--scale-out);
}

.animate-zoom-in {
  animation: var(--zoom-in);
}

.animate-zoom-out {
  animation: var(--zoom-out);
}

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

.animate-bounce-in {
  animation: var(--bounce-in);
}

.animate-bounce-out {
  animation: var(--bounce-out);
}

.animate-rotate-in {
  animation: var(--rotate-in);
}

.animate-rotate-out {
  animation: var(--rotate-out);
}

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

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

.animate-spin-slow {
  animation: spin 2s var(--ease-linear) infinite;
}

.animate-spin-fast {
  animation: spin 0.5s var(--ease-linear) infinite;
}

.animate-pulse, .attention-element, .loading-dots {
  animation: var(--pulse);
}

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

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

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

.animate-skeleton, .skeleton-box {
  background: linear-gradient(90deg, var(--surface-200, #e9ecef) 25%, var(--surface-100, #f8f9fa) 50%, var(--surface-200, #e9ecef) 75%);
  background-size: 200px 100%;
  animation: var(--shimmer);
}

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

.animate-head-shake {
  animation: var(--head-shake);
}

.animate-float, .floating-element, .floating-fab {
  animation: var(--float);
}

.animate-float-slow {
  animation: var(--float-slow);
}

.animate-float-horizontal {
  animation: var(--float-horizontal);
}

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

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

.animate-button-press {
  animation: var(--button-press);
}

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

.animate-tada, .attention-element:hover {
  animation: var(--tada);
}

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

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

.animate-gradient-shift {
  background: var(--animation-gradient-primary);
  background-size: 400% 400%;
  animation: var(--gradient-shift);
}

.animate-rainbow-shift {
  background: var(--animation-gradient-rainbow);
  background-size: 200% 200%;
  animation: var(--rainbow-shift);
}

.animate-gradient-text {
  background: var(--animation-gradient-primary);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: var(--gradient-shift);
}

.animate-rainbow-text {
  background: var(--animation-gradient-rainbow);
  background-size: 200% 200%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: var(--rainbow-shift);
}

.animate-morph-circle-to-square {
  animation: var(--morph-circle-to-square);
}

.animate-morph-square-to-circle {
  animation: var(--morph-square-to-circle);
}

.animate-slide-up-fade-in {
  animation: var(--slide-up-fade-in);
}

.animate-slide-down-fade-out {
  animation: var(--slide-down-fade-out);
}

.animate-zoom-in-fade-in {
  animation: var(--zoom-in-fade-in);
}

.animate-zoom-out-fade-out {
  animation: var(--zoom-out-fade-out);
}

.hover-lift {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-lift:hover {
  transform: translateY(calc(-1 * var(--translate-small)));
}

.hover-lift-lg {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-lift-lg:hover {
  transform: translateY(calc(-1 * var(--translate-normal)));
}

.hover-scale {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-scale:hover {
  transform: scale(var(--scale-large));
}

.hover-scale-lg {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-scale-lg:hover {
  transform: scale(var(--scale-xl));
}

.hover-rotate {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-rotate:hover {
  transform: rotate(var(--rotate-normal));
}

.hover-rotate-lg {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-rotate-lg:hover {
  transform: rotate(var(--rotate-large));
}

.hover-tilt {
  transition: transform var(--animation-duration-normal) var(--ease-out);
}
.hover-tilt:hover {
  transform: perspective(1000px) rotateX(10deg) rotateY(10deg);
}

.hover-glow {
  transition: box-shadow var(--animation-duration-normal) var(--ease-out);
}
.hover-glow:hover {
  box-shadow: var(--shadow-primary);
}

.hover-glow-lg {
  transition: box-shadow var(--animation-duration-normal) var(--ease-out);
}
.hover-glow-lg:hover {
  box-shadow: var(--shadow-primary-lg);
}

.hover-shadow {
  transition: box-shadow var(--animation-duration-normal) var(--ease-out);
}
.hover-shadow:hover {
  box-shadow: var(--shadow-lg);
}

.hover-shadow-xl {
  transition: box-shadow var(--animation-duration-normal) var(--ease-out);
}
.hover-shadow-xl:hover {
  box-shadow: var(--shadow-xl);
}

.focus-ring {
  outline: none;
  transition: box-shadow var(--animation-duration-fast) var(--ease-out);
}
.focus-ring:focus-visible {
  box-shadow: 0 0 0 2px var(--animation-primary-color), 0 0 0 4px rgba(var(--animation-primary-rgb), 0.1);
}

.focus-ring-inset {
  outline: none;
  transition: box-shadow var(--animation-duration-fast) var(--ease-out);
}
.focus-ring-inset:focus-visible {
  box-shadow: inset 0 0 0 2px var(--animation-primary-color), 0 0 0 4px rgba(var(--animation-primary-rgb), 0.1);
}

.delay-none {
  animation-delay: var(--animation-delay-none);
}

.delay-75 {
  animation-delay: 75ms;
}

.delay-100 {
  animation-delay: var(--animation-delay-short);
}

.delay-150 {
  animation-delay: 150ms;
}

.delay-200 {
  animation-delay: var(--animation-delay-normal);
}

.delay-300 {
  animation-delay: var(--animation-delay-long);
}

.delay-500 {
  animation-delay: 500ms;
}

.delay-700 {
  animation-delay: 700ms;
}

.delay-1000 {
  animation-delay: 1000ms;
}

.duration-75 {
  animation-duration: var(--animation-duration-instant);
}

.duration-100 {
  animation-duration: 100ms;
}

.duration-150 {
  animation-duration: var(--animation-duration-fast);
}

.duration-200 {
  animation-duration: 200ms;
}

.duration-300 {
  animation-duration: 300ms;
}

.duration-500 {
  animation-duration: var(--animation-duration-slower);
}

.duration-700 {
  animation-duration: 700ms;
}

.duration-1000 {
  animation-duration: 1000ms;
}

.ease-linear {
  animation-timing-function: var(--ease-linear);
}

.ease-in {
  animation-timing-function: var(--ease-in);
}

.ease-out {
  animation-timing-function: var(--ease-out);
}

.ease-in-out {
  animation-timing-function: var(--ease-in-out);
}

.ease-in-back {
  animation-timing-function: var(--ease-in-back);
}

.ease-out-back {
  animation-timing-function: var(--ease-out-back);
}

.ease-in-out-back {
  animation-timing-function: var(--ease-in-out-back);
}

.ease-bounce {
  animation-timing-function: var(--ease-bounce);
}

.ease-spring {
  animation-timing-function: var(--ease-spring);
}

.animate-once {
  animation-iteration-count: 1;
}

.animate-twice {
  animation-iteration-count: 2;
}

.animate-infinite {
  animation-iteration-count: infinite;
}

.animate-normal {
  animation-direction: normal;
}

.animate-reverse {
  animation-direction: reverse;
}

.animate-alternate {
  animation-direction: alternate;
}

.animate-alternate-reverse {
  animation-direction: alternate-reverse;
}

.animate-fill-none {
  animation-fill-mode: none;
}

.animate-fill-forwards {
  animation-fill-mode: forwards;
}

.animate-fill-backwards {
  animation-fill-mode: backwards;
}

.animate-fill-both {
  animation-fill-mode: both;
}

.animate-play {
  animation-play-state: running;
}

.animate-pause {
  animation-play-state: paused;
}

.will-change-transform {
  will-change: var(--will-change-transform);
}

.will-change-opacity {
  will-change: var(--will-change-opacity);
}

.will-change-auto {
  will-change: var(--will-change-auto);
}

.gpu-accelerated {
  transform: var(--gpu-acceleration);
  backface-visibility: var(--backface-visibility);
}

@media (max-width: 768px) {
  .mobile-animate-none {
    animation: none !important;
  }
  .mobile-duration-fast {
    animation-duration: var(--mobile-duration-fast) !important;
  }
  .mobile-duration-normal {
    animation-duration: var(--mobile-duration-normal) !important;
  }
  .mobile-duration-slow {
    animation-duration: var(--mobile-duration-slow) !important;
  }
}
@media (min-width: 769px) {
  .desktop-duration-fast {
    animation-duration: var(--desktop-duration-fast) !important;
  }
  .desktop-duration-normal {
    animation-duration: var(--desktop-duration-normal) !important;
  }
  .desktop-duration-slow {
    animation-duration: var(--desktop-duration-slow) !important;
  }
}
.animate-stagger > * {
  animation-delay: calc(var(--animation-delay-short) * var(--stagger-index, 0));
}

.animate-stagger-fast > * {
  animation-delay: calc(75ms * var(--stagger-index, 0));
}

.animate-stagger-slow > * {
  animation-delay: calc(var(--animation-delay-normal) * var(--stagger-index, 0));
}

.animate-stagger > :nth-child(1),
.animate-stagger-fast > :nth-child(1),
.animate-stagger-slow > :nth-child(1) {
  --stagger-index: 0;
}

.animate-stagger > :nth-child(2),
.animate-stagger-fast > :nth-child(2),
.animate-stagger-slow > :nth-child(2) {
  --stagger-index: 1;
}

.animate-stagger > :nth-child(3),
.animate-stagger-fast > :nth-child(3),
.animate-stagger-slow > :nth-child(3) {
  --stagger-index: 2;
}

.animate-stagger > :nth-child(4),
.animate-stagger-fast > :nth-child(4),
.animate-stagger-slow > :nth-child(4) {
  --stagger-index: 3;
}

.animate-stagger > :nth-child(5),
.animate-stagger-fast > :nth-child(5),
.animate-stagger-slow > :nth-child(5) {
  --stagger-index: 4;
}

.animate-stagger > :nth-child(6),
.animate-stagger-fast > :nth-child(6),
.animate-stagger-slow > :nth-child(6) {
  --stagger-index: 5;
}

.animate-stagger > :nth-child(7),
.animate-stagger-fast > :nth-child(7),
.animate-stagger-slow > :nth-child(7) {
  --stagger-index: 6;
}

.animate-stagger > :nth-child(8),
.animate-stagger-fast > :nth-child(8),
.animate-stagger-slow > :nth-child(8) {
  --stagger-index: 7;
}

.animate-stagger > :nth-child(9),
.animate-stagger-fast > :nth-child(9),
.animate-stagger-slow > :nth-child(9) {
  --stagger-index: 8;
}

.animate-stagger > :nth-child(10),
.animate-stagger-fast > :nth-child(10),
.animate-stagger-slow > :nth-child(10) {
  --stagger-index: 9;
}

.animate-bounce-fade-in {
  animation: bounceIn var(--animation-duration-slower) var(--ease-out), fadeIn var(--animation-duration-normal) var(--ease-out);
}

.animate-scale-fade-in {
  animation: scaleIn var(--animation-duration-normal) var(--ease-out-back), fadeIn var(--animation-duration-normal) var(--ease-out);
}

.animate-rotate-scale-in {
  animation: rotateIn var(--animation-duration-slower) var(--ease-out), scaleIn var(--animation-duration-normal) var(--ease-out-back);
}

.loading-spinner {
  display: inline-block;
  width: 1em;
  height: 1em;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
}

.loading-dots::after {
  content: "...";
  animation: loadingDots 1.5s steps(4, end) infinite;
}

.skeleton-box {
  border-radius: 4px;
  height: 1em;
}

/*
 * ADMO UI Animation System
 * 
 * Эта система анимаций предоставляет:
 * 
 * 1. KEYFRAMES (keyframes.scss):
 *    - Fade анимации (fadeIn, fadeOut, fadeInUp, etc.)
 *    - Slide анимации (slideInUp, slideInDown, etc.)
 *    - Scale анимации (scaleIn, scaleOut, zoomIn, etc.)
 *    - Bounce анимации (bounce, bounceIn, bounceOut)
 *    - Rotate анимации (rotateIn, rotateOut, spin)
 *    - Loading анимации (pulse, heartbeat, shimmer)
 *    - Shake анимации (shake, headShake)
 *    - Float анимации (float, floatSlow)
 *    - Glow анимации (glow, glowPulse)
 *    - Micro анимации (buttonPress, wiggle, tada)
 *    - И многие другие...
 * 
 * 2. TRANSITIONS (transitions.scss):
 *    - Миксины для плавных переходов
 *    - Hover эффекты для кнопок, карточек, меню
 *    - Focus анимации для доступности
 *    - Modal и dropdown переходы
 *    - Toast уведомления
 *    - Поддержка prefers-reduced-motion
 * 
 * 3. EFFECTS (effects.scss):
 *    - Parallax эффекты
 *    - Gradient анимации
 *    - Particle эффекты
 *    - Floating элементы
 *    - Glow эффекты
 *    - 3D трансформации
 *    - Loading эффекты
 *    - Интерактивные эффекты
 * 
 * 4. VARIABLES (_variables.scss):
 *    - CSS custom properties для всех анимаций
 *    - Настройки длительности, easing функций
 *    - Цвета и градиенты для анимаций
 *    - Поддержка темной темы
 *    - Адаптивные настройки
 * 
 * 5. UTILITIES (utilities.scss):
 *    - Готовые классы для быстрого применения
 *    - Hover и focus эффекты
 *    - Задержки и длительности
 *    - Stagger анимации
 *    - Performance утилиты
 * 
 * ПРИМЕРЫ ИСПОЛЬЗОВАНИЯ:
 * 
 * HTML классы:
 * <div class="animate-fade-in">Появление</div>
 * <button class="hover-lift">Кнопка с подъемом</button>
 * <div class="animate-pulse loading-spinner">Загрузка</div>
 * 
 * SCSS миксины:
 * .my-button {
 *   @include button-transition;
 *   @include button-transition-glow;
 * }
 * 
 * .my-card {
 *   @include card-hover-lift;
 *   @include floating-element(4s, 15px);
 * }
 * 
 * CSS custom properties:
 * .custom-animation {
 *   animation: fadeIn var(--animation-duration-normal) var(--ease-out);
 *   transition: all var(--transition-normal);
 * }
 * 
 * ПРОИЗВОДИТЕЛЬНОСТЬ:
 * - Все анимации оптимизированы для GPU ускорения
 * - Поддержка prefers-reduced-motion
 * - Утилиты will-change для критических анимаций
 * - Отзывчивые настройки для мобильных устройств
 * 
 * ДОСТУПНОСТЬ:
 * - Поддержка prefers-reduced-motion
 * - Focus-visible анимации
 * - High contrast режим
 * - Семантические анимации
 */
body {
  font-family: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
  line-height: 1.625;
  color: #1f2937;
}

button, .p-button, .p-inputtext, .p-dropdown, .p-calendar {
  transition: all 150ms cubic-bezier(0, 0, 0.2, 1);
}

* {
  will-change: auto;
}

.animate-fade-in-up,
.animate-bounce-in,
.hover-lift,
.hover-scale {
  will-change: transform, opacity;
}

/*# sourceMappingURL=main.css.map */
