@charset "UTF-8";@import url("https://fonts.googleapis.com/css2?family=Ubuntu:ital,wght@0,300;0,400;0,500;0,700;1,300;1,400;1,500;1,700&display=swap");

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  margin: 0;
  font-family: 'Ubuntu', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
    'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
    sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

code {
  font-family: 'Ubuntu', source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
    monospace;
}: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: #6366f1;
  --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 #c7d2fe;
  --maskbg: rgba(0, 0, 0, 0.4);
  --highlight-bg: #eef2ff;
  --highlight-text-color: #4338ca;
  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("/assets/InterVariable-CWi-zmRD.woff2") format("woff2");
}
@font-face {
  font-family: "Inter var";
  font-weight: 100 900;
  font-display: swap;
  font-style: italic;
  font-named-instance: "Italic";
  src: url("/assets/InterVariable-Italic-d6KXgdvN.woff2") format("woff2");
}
:root {
  --blue-50:#f5f9ff;
  --blue-100:#d0e1fd;
  --blue-200:#abc9fb;
  --blue-300:#85b2f9;
  --blue-400:#609af8;
  --blue-500:#3b82f6;
  --blue-600:#326fd1;
  --blue-700:#295bac;
  --blue-800:#204887;
  --blue-900:#183462;
  --green-50:#f4fcf7;
  --green-100:#caf1d8;
  --green-200:#a0e6ba;
  --green-300:#76db9b;
  --green-400:#4cd07d;
  --green-500:#22c55e;
  --green-600:#1da750;
  --green-700:#188a42;
  --green-800:#136c34;
  --green-900:#0e4f26;
  --yellow-50:#fefbf3;
  --yellow-100:#faedc4;
  --yellow-200:#f6de95;
  --yellow-300:#f2d066;
  --yellow-400:#eec137;
  --yellow-500:#eab308;
  --yellow-600:#c79807;
  --yellow-700:#a47d06;
  --yellow-800:#816204;
  --yellow-900:#5e4803;
  --cyan-50:#f3fbfd;
  --cyan-100:#c3edf5;
  --cyan-200:#94e0ed;
  --cyan-300:#65d2e4;
  --cyan-400:#35c4dc;
  --cyan-500:#06b6d4;
  --cyan-600:#059bb4;
  --cyan-700:#047f94;
  --cyan-800:#036475;
  --cyan-900:#024955;
  --pink-50:#fef6fa;
  --pink-100:#fad3e7;
  --pink-200:#f7b0d3;
  --pink-300:#f38ec0;
  --pink-400:#f06bac;
  --pink-500:#ec4899;
  --pink-600:#c93d82;
  --pink-700:#a5326b;
  --pink-800:#822854;
  --pink-900:#5e1d3d;
  --indigo-50:#f7f7fe;
  --indigo-100:#dadafc;
  --indigo-200:#bcbdf9;
  --indigo-300:#9ea0f6;
  --indigo-400:#8183f4;
  --indigo-500:#6366f1;
  --indigo-600:#5457cd;
  --indigo-700:#4547a9;
  --indigo-800:#363885;
  --indigo-900:#282960;
  --teal-50:#f3fbfb;
  --teal-100:#c7eeea;
  --teal-200:#9ae0d9;
  --teal-300:#6dd3c8;
  --teal-400:#41c5b7;
  --teal-500:#14b8a6;
  --teal-600:#119c8d;
  --teal-700:#0e8174;
  --teal-800:#0b655b;
  --teal-900:#084a42;
  --orange-50:#fff8f3;
  --orange-100:#feddc7;
  --orange-200:#fcc39b;
  --orange-300:#fba86f;
  --orange-400:#fa8e42;
  --orange-500:#f97316;
  --orange-600:#d46213;
  --orange-700:#ae510f;
  --orange-800:#893f0c;
  --orange-900:#642e09;
  --bluegray-50:#f7f8f9;
  --bluegray-100:#dadee3;
  --bluegray-200:#bcc3cd;
  --bluegray-300:#9fa9b7;
  --bluegray-400:#818ea1;
  --bluegray-500:#64748b;
  --bluegray-600:#556376;
  --bluegray-700:#465161;
  --bluegray-800:#37404c;
  --bluegray-900:#282e38;
  --purple-50:#fbf7ff;
  --purple-100:#ead6fd;
  --purple-200:#dab6fc;
  --purple-300:#c996fa;
  --purple-400:#b975f9;
  --purple-500:#a855f7;
  --purple-600:#8f48d2;
  --purple-700:#763cad;
  --purple-800:#5c2f88;
  --purple-900:#432263;
  --red-50:#fff5f5;
  --red-100:#ffd0ce;
  --red-200:#ffaca7;
  --red-300:#ff8780;
  --red-400:#ff6259;
  --red-500:#ff3d32;
  --red-600:#d9342b;
  --red-700:#b32b23;
  --red-800:#8c221c;
  --red-900:#661814;
  --primary-50:#f7f7fe;
  --primary-100:#dadafc;
  --primary-200:#bcbdf9;
  --primary-300:#9ea0f6;
  --primary-400:#8183f4;
  --primary-500:#6366f1;
  --primary-600:#5457cd;
  --primary-700:#4547a9;
  --primary-800:#363885;
  --primary-900:#282960;
}

.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: #6366f1;
}
.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: #6366f1;
}
.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: #6366f1;
}
.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: #6366f1;
}

@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 #c7d2fe;
  }
  .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: #6366f1;
  }
  .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .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: #eef2ff;
    color: #4338ca;
    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: #4338ca;
    background: #eef2ff;
  }
  .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 #c7d2fe;
    border-color: #6366f1;
  }
  .p-datepicker {
    padding: 0.5rem;
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #d1d5db;
    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 #c7d2fe;
  }
  .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: #6366f1;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-datepicker table td > span:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  @media screen and (max-width: 769px) {
    .p-datepicker table th,
    .p-datepicker table td {
      padding: 0;
    }
  }
  .p-cascadeselect {
    background: #ffffff;
    border: 1px solid #d1d5db;
    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: #6366f1;
  }
  .p-cascadeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight.p-focus {
    background: rgba(99, 102, 241, 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: #6366f1;
    background: #6366f1;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    border-color: #6366f1;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    border-color: #4338ca;
    background: #4338ca;
    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 #c7d2fe;
    border-color: #6366f1;
  }
  .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: #6366f1;
  }
  .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: #4338ca;
  }
  .p-input-filled .p-checkbox .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-checkbox.p-highlight .p-checkbox-box {
    background: #6366f1;
  }
  .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: #4338ca;
  }
  .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: #6366f1;
  }
  .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: #4338ca;
  }
  .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: #6366f1;
  }
  .p-chips:not(.p-disabled).p-focus .p-chips-multiple-container {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .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 #d1d5db;
    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: #6366f1;
  }
  .p-dropdown:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {
    background: rgba(99, 102, 241, 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 #d1d5db;
    border-left: 1px solid #d1d5db;
    border-bottom: 1px solid #d1d5db;
    padding: 0.75rem 0.75rem;
    min-width: 3rem;
  }
  .p-inputgroup-addon:last-child {
    border-right: 1px solid #d1d5db;
  }
  .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: #6366f1;
  }
  .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: #4f46e5;
  }
  .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 #c7d2fe;
  }
  .p-inputswitch.p-invalid > .p-inputswitch-slider {
    border-color: #e24c4c;
  }
  .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 #d1d5db;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    appearance: none;
    border-radius: 6px;
    outline-color: transparent;
  }
  .p-inputtext:enabled:hover {
    border-color: #6366f1;
  }
  .p-inputtext:enabled:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .p-inputtext.p-invalid.p-component {
    border-color: #e24c4c;
  }
  .p-inputtext.p-variant-filled {
    background-color: #f3f4f6;
  }
  .p-inputtext.p-variant-filled:enabled:hover {
    background-color: #f3f4f6;
  }
  .p-inputtext.p-variant-filled:enabled:focus {
    background-color: #ffffff;
  }
  .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 #d1d5db;
    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: #4338ca;
    background: #eef2ff;
  }
  .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(99, 102, 241, 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 #c7d2fe;
    border-color: #6366f1;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .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 #d1d5db;
    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: #6366f1;
  }
  .p-multiselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus {
    background: rgba(99, 102, 241, 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: #6366f1;
    background: #6366f1;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    border-color: #6366f1;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    border-color: #4338ca;
    background: #4338ca;
  }
  .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 #c7d2fe;
    border-color: #6366f1;
  }
  .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: #6366f1;
  }
  .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: #4338ca;
  }
  .p-input-filled .p-radiobutton .p-radiobutton-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-radiobutton.p-highlight .p-radiobutton-box {
    background: #6366f1;
  }
  .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: #4338ca;
  }
  .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 #c7d2fe;
  }
  .p-rating .p-rating-item.p-rating-item-active .p-rating-icon {
    color: #6366f1;
  }
  .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon {
    color: #6366f1;
  }
  .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: #6366f1;
    border-color: #6366f1;
    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: #4f46e5;
    border-color: #4f46e5;
    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 #6366f1;
    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 #c7d2fe;
  }
  .p-slider .p-slider-range {
    background: #6366f1;
  }
  .p-slider:not(.p-disabled) .p-slider-handle:hover {
    background: #6366f1;
    border-color: #6366f1;
  }
  .p-treeselect {
    background: #ffffff;
    border: 1px solid #d1d5db;
    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: #6366f1;
  }
  .p-treeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
    border-color: #6366f1;
  }
  .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 #c7d2fe;
  }
  .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: #6366f1;
    border-color: #6366f1;
    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: #4f46e5;
    border-color: #4f46e5;
    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 #c7d2fe;
    border-color: #6366f1;
  }
  .p-togglebutton.p-invalid > .p-button {
    border-color: #e24c4c;
  }
  .p-button {
    color: #ffffff;
    background: #6366f1;
    border: 1px solid #6366f1;
    padding: 0.75rem 1.25rem;
    font-size: 1rem;
    transition: background-color 0.2s, color 0.2s, border-color 0.2s, box-shadow 0.2s;
    border-radius: 6px;
  }
  .p-button:not(:disabled):hover {
    background: #4f46e5;
    color: #ffffff;
    border-color: #4f46e5;
  }
  .p-button:not(:disabled):active {
    background: #4338ca;
    color: #ffffff;
    border-color: #4338ca;
  }
  .p-button.p-button-outlined {
    background-color: transparent;
    color: #6366f1;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):hover {
    background: rgba(99, 102, 241, 0.04);
    color: #6366f1;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):active {
    background: rgba(99, 102, 241, 0.16);
    color: #6366f1;
    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: #6366f1;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):hover {
    background: rgba(99, 102, 241, 0.04);
    color: #6366f1;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):active {
    background: rgba(99, 102, 241, 0.16);
    color: #6366f1;
    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 #c7d2fe;
  }
  .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: #6366f1;
    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-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: #64748b;
    border: 1px solid #64748b;
  }
  .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: #475569;
    color: #ffffff;
    border-color: #475569;
  }
  .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 #e2e8f0;
  }
  .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: #334155;
    color: #ffffff;
    border-color: #334155;
  }
  .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: #64748b;
    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(100, 116, 139, 0.04);
    color: #64748b;
    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(100, 116, 139, 0.16);
    color: #64748b;
    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: #64748b;
    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(100, 116, 139, 0.04);
    border-color: transparent;
    color: #64748b;
  }
  .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(100, 116, 139, 0.16);
    border-color: transparent;
    color: #64748b;
  }
  .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: #0ea5e9;
    border: 1px solid #0ea5e9;
  }
  .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: #0284c7;
    color: #ffffff;
    border-color: #0284c7;
  }
  .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 #bfdbfe;
  }
  .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: #0369a1;
    color: #ffffff;
    border-color: #0369a1;
  }
  .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: #0ea5e9;
    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(14, 165, 233, 0.04);
    color: #0ea5e9;
    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(14, 165, 233, 0.16);
    color: #0ea5e9;
    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: #0ea5e9;
    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(14, 165, 233, 0.04);
    border-color: transparent;
    color: #0ea5e9;
  }
  .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(14, 165, 233, 0.16);
    border-color: transparent;
    color: #0ea5e9;
  }
  .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: #22c55e;
    border: 1px solid #22c55e;
  }
  .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: #16a34a;
    color: #ffffff;
    border-color: #16a34a;
  }
  .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 #bbf7d0;
  }
  .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: #15803d;
    color: #ffffff;
    border-color: #15803d;
  }
  .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: #22c55e;
    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(34, 197, 94, 0.04);
    color: #22c55e;
    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(34, 197, 94, 0.16);
    color: #22c55e;
    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: #22c55e;
    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(34, 197, 94, 0.04);
    border-color: transparent;
    color: #22c55e;
  }
  .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(34, 197, 94, 0.16);
    border-color: transparent;
    color: #22c55e;
  }
  .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: #4338ca;
    background: transparent;
    border: transparent;
  }
  .p-button.p-button-link:not(:disabled):hover {
    background: transparent;
    color: #4338ca;
    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 #c7d2fe;
    border-color: transparent;
  }
  .p-button.p-button-link:not(:disabled):active {
    background: transparent;
    color: #4338ca;
    border-color: transparent;
  }
  .p-splitbutton {
    border-radius: 6px;
  }
  .p-splitbutton.p-button-outlined > .p-button {
    background-color: transparent;
    color: #6366f1;
    border: 1px solid;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(99, 102, 241, 0.04);
    color: #6366f1;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(99, 102, 241, 0.16);
    color: #6366f1;
  }
  .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: #6366f1;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(99, 102, 241, 0.04);
    color: #6366f1;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):active {
    background: rgba(99, 102, 241, 0.16);
    color: #6366f1;
    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: #64748b;
    border: 1px solid;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(100, 116, 139, 0.04);
    color: #64748b;
  }
  .p-splitbutton.p-button-secondary.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(100, 116, 139, 0.16);
    color: #64748b;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button {
    background-color: transparent;
    color: #64748b;
    border-color: transparent;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(100, 116, 139, 0.04);
    border-color: transparent;
    color: #64748b;
  }
  .p-splitbutton.p-button-secondary.p-button-text > .p-button:not(:disabled):active {
    background: rgba(100, 116, 139, 0.16);
    border-color: transparent;
    color: #64748b;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button {
    background-color: transparent;
    color: #0ea5e9;
    border: 1px solid;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(14, 165, 233, 0.04);
    color: #0ea5e9;
  }
  .p-splitbutton.p-button-info.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(14, 165, 233, 0.16);
    color: #0ea5e9;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button {
    background-color: transparent;
    color: #0ea5e9;
    border-color: transparent;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(14, 165, 233, 0.04);
    border-color: transparent;
    color: #0ea5e9;
  }
  .p-splitbutton.p-button-info.p-button-text > .p-button:not(:disabled):active {
    background: rgba(14, 165, 233, 0.16);
    border-color: transparent;
    color: #0ea5e9;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button {
    background-color: transparent;
    color: #22c55e;
    border: 1px solid;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(34, 197, 94, 0.04);
    color: #22c55e;
  }
  .p-splitbutton.p-button-success.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(34, 197, 94, 0.16);
    color: #22c55e;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button {
    background-color: transparent;
    color: #22c55e;
    border-color: transparent;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(34, 197, 94, 0.04);
    border-color: transparent;
    color: #22c55e;
  }
  .p-splitbutton.p-button-success.p-button-text > .p-button:not(:disabled):active {
    background: rgba(34, 197, 94, 0.16);
    border-color: transparent;
    color: #22c55e;
  }
  .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;
  }
  .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 #c7d2fe;
  }
  .p-carousel .p-carousel-content .p-carousel-prev,
  .p-carousel .p-carousel-content .p-carousel-next {
    margin: 0.5rem;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .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: 700;
    color: #374151;
    background: #f9fafb;
    transition: box-shadow 0.2s;
  }
  .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: #4338ca;
    background: #eef2ff;
    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: #eef2ff;
    color: #4338ca;
  }
  .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #4338ca;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover {
    background: #eef2ff;
    color: #4338ca;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon {
    color: #4338ca;
  }
  .p-datatable .p-sortable-column:focus-visible {
    box-shadow: inset 0 0 0 0.15rem #c7d2fe;
    outline: 0 none;
  }
  .p-datatable .p-datatable-tbody > tr {
    background: #ffffff;
    color: #4b5563;
    transition: box-shadow 0.2s;
  }
  .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 #c7d2fe;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight {
    background: #eef2ff;
    color: #4338ca;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu {
    outline: 0.15rem solid #c7d2fe;
    outline-offset: -0.15rem;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 #eef2ff;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #eef2ff;
  }
  .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:not(.p-highlight):not(.p-datatable-emptymessage):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-datatable.p-datatable-selectable .p-datatable-tbody > tr.p-selectable-row:focus-visible {
    outline: 0.15rem solid #c7d2fe;
    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 #c7d2fe;
    outline-offset: -0.15rem;
  }
  .p-datatable.p-datatable-hoverable-rows .p-datatable-tbody > tr:not(.p-highlight):not(.p-datatable-emptymessage):hover {
    background: #f3f4f6;
    color: #4b5563;
  }
  .p-datatable .p-column-resizer-helper {
    background: #6366f1;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #4338ca;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #4338ca;
  }
  .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(99, 102, 241, 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: #eef2ff;
    color: #4338ca;
  }
  .p-column-filter-menu-button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight.p-focus {
    background: rgba(99, 102, 241, 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: #eef2ff;
    color: #4338ca;
  }
  .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {
    color: #6f91ff;
  }
  .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 #c7d2fe;
  }
  .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: #eef2ff;
    border-color: #eef2ff;
    color: #4338ca;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-highlight.p-focus {
    background: rgba(99, 102, 241, 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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .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: #4338ca;
  }
  .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: #8ba7ff;
  }
  .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: #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
    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: #eef2ff;
    color: #4338ca;
  }
  .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #4338ca;
  }
  .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;
  }
  .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 #c7d2fe;
  }
  .p-treetable .p-treetable-tbody > tr > td .p-treetable-toggler {
    margin-right: 0.5rem;
  }
  .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 #c7d2fe;
    outline-offset: -0.15rem;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight {
    background: #eef2ff;
    color: #4338ca;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {
    color: #4338ca;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {
    color: #4338ca;
  }
  .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: #6366f1;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #4338ca;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #4338ca;
  }
  .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 #6366f1;
    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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .p-panel.p-panel-toggleable .p-panel-header {
    padding: 0.75rem 1.25rem;
  }
  .p-panel:has(> .p-panel-footer) .p-panel-content {
    border-bottom-left-radius: 0;
    border-bottom-right-radius: 0;
  }
  .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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #eef2ff;
    color: #4338ca;
  }
  .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 #c7d2fe;
  }
  .p-stepper .p-stepper-header:has(~ .p-highlight) .p-stepper-separator {
    background-color: #6366f1;
  }
  .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: #6366f1;
  }
  .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 #c7d2fe;
  }
  .p-tabview-nav-container {
    position: relative;
  }
  .p-tabview-scrollable .p-tabview-nav-container {
    overflow: hidden;
  }
  .p-tabview-nav-content {
    overflow-x: auto;
    overflow-y: hidden;
    scroll-behavior: smooth;
    scrollbar-width: none;
    overscroll-behavior: contain auto;
    position: relative;
  }
  .p-tabview-nav {
    display: flex;
    margin: 0;
    padding: 0;
    list-style-type: none;
    flex: 1 1 auto;
  }
  .p-tabview-nav-link {
    cursor: pointer;
    user-select: none;
    display: flex;
    align-items: center;
    position: relative;
    text-decoration: none;
    overflow: hidden;
  }
  .p-tabview-ink-bar {
    display: none;
    z-index: 1;
  }
  .p-tabview-nav-link:focus {
    z-index: 1;
  }
  .p-tabview-close {
    z-index: 1;
  }
  .p-tabview-title {
    line-height: 1;
    white-space: nowrap;
  }
  .p-tabview-nav-btn {
    position: absolute;
    top: 0;
    z-index: 2;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .p-tabview-nav-prev {
    left: 0;
  }
  .p-tabview-nav-next {
    right: 0;
  }
  .p-tabview-nav-content::-webkit-scrollbar {
    display: none;
  }
  .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 #c7d2fe;
  }
  .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: #6366f1;
    color: #6366f1;
  }
  .p-tabview .p-tabview-close {
    margin-left: 0.5rem;
  }
  .p-tabview .p-tabview-nav-btn.p-link {
    background: #ffffff;
    color: #6366f1;
    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 #c7d2fe;
  }
  .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: #f2f2f2;
  }
  .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;
  }
  .p-dialog {
    border-radius: 6px;
    box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
    border: 0 none;
  }
  .p-dialog .p-dialog-header {
    border-bottom: 0 none;
    background: #ffffff;
    color: #374151;
    padding: 1.5rem;
    border-top-right-radius: 6px;
    border-top-left-radius: 6px;
  }
  .p-dialog .p-dialog-header .p-dialog-title {
    font-weight: 700;
    font-size: 1.25rem;
  }
  .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;
  }
  .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 #c7d2fe;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon {
    margin-right: 0.5rem;
  }
  .p-dialog .p-dialog-header .p-dialog-header-icon:last-child {
    margin-right: 0;
  }
  .p-dialog .p-dialog-content {
    background: #ffffff;
    color: #4b5563;
    padding: 0 1.5rem 2rem 1.5rem;
  }
  .p-dialog .p-dialog-content:last-of-type {
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-dialog .p-dialog-footer {
    border-top: 0 none;
    background: #ffffff;
    color: #4b5563;
    padding: 0 1.5rem 1.5rem 1.5rem;
    text-align: right;
    border-bottom-right-radius: 6px;
    border-bottom-left-radius: 6px;
  }
  .p-dialog .p-dialog-footer button {
    margin: 0 0.5rem 0 0;
    width: auto;
  }
  .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: #6366f1;
    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: #4f46e5;
    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: #f2f2f2;
  }
  .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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-contextmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-megamenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .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: #4338ca;
  }
  .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: #4338ca;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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;
  }
  .p-menu {
    padding: 0.5rem 0;
    background: #ffffff;
    color: #4b5563;
    border: 1px solid #e5e7eb;
    border-radius: 6px;
    width: 12.5rem;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-menu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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-menu-overlay {
    background: #ffffff;
    border: 0 none;
    box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
  }
  .p-menu .p-submenu-header {
    margin: 0;
    padding: 0.75rem 1.25rem;
    color: #374151;
    background: #ffffff;
    font-weight: 700;
    border-top-right-radius: 0;
    border-top-left-radius: 0;
  }
  .p-menu .p-menu-separator {
    border-top: 1px solid #e5e7eb;
    margin: 0.25rem 0;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-menubar .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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 #c7d2fe;
  }
  .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 #c7d2fe;
    }
    .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: #4338ca;
      background: #eef2ff;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #4338ca;
    }
    .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: #4338ca;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
      background: rgba(99, 102, 241, 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 #c7d2fe;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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: #4338ca;
    background: #eef2ff;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-slidemenu .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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: #eef2ff;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .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 #c7d2fe;
  }
  .p-steps .p-steps-item.p-highlight .p-steps-number {
    background: #eef2ff;
    color: #4338ca;
  }
  .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 #c7d2fe;
  }
  .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: #6366f1;
    color: #6366f1;
  }
  .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: #4338ca;
    background: #eef2ff;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #4338ca;
  }
  .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: #4338ca;
  }
  .p-tieredmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(99, 102, 241, 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 #c7d2fe;
  }
  .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;
  }
  .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 #c7d2fe;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .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: #eef2ff;
    color: #4338ca;
  }
  .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 #c7d2fe;
  }
  .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 #c7d2fe;
  }
  .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: #6366f1;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
  }
  .p-tag.p-tag-success {
    background-color: #22c55e;
    color: #ffffff;
  }
  .p-tag.p-tag-info {
    background-color: #0ea5e9;
    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 #c7d2fe;
  }
  .p-metergroup .p-metergroup-meter-container {
    background: #e5e7eb;
    border-radius: 6px;
  }
  .p-metergroup .p-metergroup-meter {
    border: 0 none;
    background: #6366f1;
  }
  .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: #6366f1;
    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: #6366f1;
  }
  .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: #6366f1;
    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: #64748b;
    color: #ffffff;
  }
  .p-badge.p-badge-success {
    background-color: #22c55e;
    color: #ffffff;
  }
  .p-badge.p-badge-info {
    background-color: #0ea5e9;
    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: #6366f1;
    color: #ffffff;
    font-size: 0.75rem;
    font-weight: 700;
    padding: 0.25rem 0.4rem;
    border-radius: 6px;
  }
  .p-tag.p-tag-success {
    background-color: #22c55e;
    color: #ffffff;
  }
  .p-tag.p-tag-info {
    background-color: #0ea5e9;
    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-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: #6366f1;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background-color: #6366f1;
  }
  .p-button:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #b1b3f8, 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 #b0b9c6, 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 #88eaac, 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 #83d3f8, 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 #fcb98b, 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 #d4aafb, 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 #f7a2a2, 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 #6366f1;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #6366f1;
  }
  .p-speeddial-item.p-focus > .p-speeddial-action {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #b1b3f8, 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: #6366f1;
    color: #ffffff;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #6366f1;
    color: #ffffff;
  }
}
/**
 * The primereact[.min].css has been deprecated. In order not to break existing projects, it is currently included in the build as an empty file.
 */@font-face {
    font-family: 'primeicons';
    font-display: block;
    src: url('/assets/primeicons-DMOk5skT.eot');
    src: url('/assets/primeicons-DMOk5skT.eot?#iefix') format('embedded-opentype'), url('/assets/primeicons-C6QP2o4f.woff2') format('woff2'), url('/assets/primeicons-WjwUDZjB.woff') format('woff'), url('/assets/primeicons-MpK4pl85.ttf') format('truetype'), url('/assets/primeicons-Dr5RGzOO.svg?#primeicons') format('svg');
    font-weight: normal;
    font-style: normal;
}

.pi {
    font-family: 'primeicons';
    speak: none;
    font-style: normal;
    font-weight: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}

.pi:before {
    --webkit-backface-visibility:hidden;
    backface-visibility: hidden;
}

.pi-fw {
    width: 1.28571429em;
    text-align: center;
}

.pi-spin {
    -webkit-animation: fa-spin 2s infinite linear;
    animation: fa-spin 2s infinite linear;
}

@media (prefers-reduced-motion: reduce) {
  .pi-spin {
    -webkit-animation-delay: -1ms;
    animation-delay: -1ms;
    -webkit-animation-duration: 1ms;
    animation-duration: 1ms;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transition-duration: 0s;
    transition-duration: 0s;
  }
}

@-webkit-keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

@keyframes fa-spin {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
    }
    100% {
        -webkit-transform: rotate(359deg);
        transform: rotate(359deg);
    }
}

.pi-folder-plus:before {
    content: "\ea05";
}

.pi-receipt:before {
    content: "\ea06";
}

.pi-asterisk:before {
    content: "\ea07";
}

.pi-face-smile:before {
    content: "\ea08";
}

.pi-pinterest:before {
    content: "\ea09";
}

.pi-expand:before {
    content: "\ea0a";
}

.pi-pen-to-square:before {
    content: "\ea0b";
}

.pi-wave-pulse:before {
    content: "\ea0c";
}

.pi-turkish-lira:before {
    content: "\ea0d";
}

.pi-spinner-dotted:before {
    content: "\ea0e";
}

.pi-crown:before {
    content: "\ea0f";
}

.pi-pause-circle:before {
    content: "\ea10";
}

.pi-warehouse:before {
    content: "\ea11";
}

.pi-objects-column:before {
    content: "\ea12";
}

.pi-clipboard:before {
    content: "\ea13";
}

.pi-play-circle:before {
    content: "\ea14";
}

.pi-venus:before {
    content: "\ea15";
}

.pi-cart-minus:before {
    content: "\ea16";
}

.pi-file-plus:before {
    content: "\ea17";
}

.pi-microchip:before {
    content: "\ea18";
}

.pi-twitch:before {
    content: "\ea19";
}

.pi-building-columns:before {
    content: "\ea1a";
}

.pi-file-check:before {
    content: "\ea1b";
}

.pi-microchip-ai:before {
    content: "\ea1c";
}

.pi-trophy:before {
    content: "\ea1d";
}

.pi-barcode:before {
    content: "\ea1e";
}

.pi-file-arrow-up:before {
    content: "\ea1f";
}

.pi-mars:before {
    content: "\ea20";
}

.pi-tiktok:before {
    content: "\ea21";
}

.pi-arrow-up-right-and-arrow-down-left-from-center:before {
    content: "\ea22";
}

.pi-ethereum:before {
    content: "\ea23";
}

.pi-list-check:before {
    content: "\ea24";
}

.pi-thumbtack:before {
    content: "\ea25";
}

.pi-arrow-down-left-and-arrow-up-right-to-center:before {
    content: "\ea26";
}

.pi-equals:before {
    content: "\ea27";
}

.pi-lightbulb:before {
    content: "\ea28";
}

.pi-star-half:before {
    content: "\ea29";
}

.pi-address-book:before {
    content: "\ea2a";
}

.pi-chart-scatter:before {
    content: "\ea2b";
}

.pi-indian-rupee:before {
    content: "\ea2c";
}

.pi-star-half-fill:before {
    content: "\ea2d";
}

.pi-cart-arrow-down:before {
    content: "\ea2e";
}

.pi-calendar-clock:before {
    content: "\ea2f";
}

.pi-sort-up-fill:before {
    content: "\ea30";
}

.pi-sparkles:before {
    content: "\ea31";
}

.pi-bullseye:before {
    content: "\ea32";
}

.pi-sort-down-fill:before {
    content: "\ea33";
}

.pi-graduation-cap:before {
    content: "\ea34";
}

.pi-hammer:before {
    content: "\ea35";
}

.pi-bell-slash:before {
    content: "\ea36";
}

.pi-gauge:before {
    content: "\ea37";
}

.pi-shop:before {
    content: "\ea38";
}

.pi-headphones:before {
    content: "\ea39";
}

.pi-eraser:before {
    content: "\ea04";
}

.pi-stopwatch:before {
    content: "\ea01";
}

.pi-verified:before {
    content: "\ea02";
}

.pi-delete-left:before {
    content: "\ea03";
}

.pi-hourglass:before {
    content: "\e9fe";
}

.pi-truck:before {
    content: "\ea00";
}

.pi-wrench:before {
    content: "\e9ff";
}

.pi-microphone:before {
    content: "\e9fa";
}

.pi-megaphone:before {
    content: "\e9fb";
}

.pi-arrow-right-arrow-left:before {
    content: "\e9fc";
}

.pi-bitcoin:before {
    content: "\e9fd";
}

.pi-file-edit:before {
    content: "\e9f6";
}

.pi-language:before {
    content: "\e9f7";
}

.pi-file-export:before {
    content: "\e9f8";
}

.pi-file-import:before {
    content: "\e9f9";
}

.pi-file-word:before {
    content: "\e9f1";
}

.pi-gift:before {
    content: "\e9f2";
}

.pi-cart-plus:before {
    content: "\e9f3";
}

.pi-thumbs-down-fill:before {
    content: "\e9f4";
}

.pi-thumbs-up-fill:before {
    content: "\e9f5";
}

.pi-arrows-alt:before {
    content: "\e9f0";
}

.pi-calculator:before {
    content: "\e9ef";
}

.pi-sort-alt-slash:before {
    content: "\e9ee";
}

.pi-arrows-h:before {
    content: "\e9ec";
}

.pi-arrows-v:before {
    content: "\e9ed";
}

.pi-pound:before {
    content: "\e9eb";
}

.pi-prime:before {
    content: "\e9ea";
}

.pi-chart-pie:before {
    content: "\e9e9";
}

.pi-reddit:before {
    content: "\e9e8";
}

.pi-code:before {
    content: "\e9e7";
}

.pi-sync:before {
    content: "\e9e6";
}

.pi-shopping-bag:before {
    content: "\e9e5";
}

.pi-server:before {
    content: "\e9e4";
}

.pi-database:before {
    content: "\e9e3";
}

.pi-hashtag:before {
    content: "\e9e2";
}

.pi-bookmark-fill:before {
    content: "\e9df";
}

.pi-filter-fill:before {
    content: "\e9e0";
}

.pi-heart-fill:before {
    content: "\e9e1";
}

.pi-flag-fill:before {
    content: "\e9de";
}

.pi-circle:before {
    content: "\e9dc";
}

.pi-circle-fill:before {
    content: "\e9dd";
}

.pi-bolt:before {
    content: "\e9db";
}

.pi-history:before {
    content: "\e9da";
}

.pi-box:before {
    content: "\e9d9";
}

.pi-at:before {
    content: "\e9d8";
}

.pi-arrow-up-right:before {
    content: "\e9d4";
}

.pi-arrow-up-left:before {
    content: "\e9d5";
}

.pi-arrow-down-left:before {
    content: "\e9d6";
}

.pi-arrow-down-right:before {
    content: "\e9d7";
}

.pi-telegram:before {
    content: "\e9d3";
}

.pi-stop-circle:before {
    content: "\e9d2";
}

.pi-stop:before {
    content: "\e9d1";
}

.pi-whatsapp:before {
    content: "\e9d0";
}

.pi-building:before {
    content: "\e9cf";
}

.pi-qrcode:before {
    content: "\e9ce";
}

.pi-car:before {
    content: "\e9cd";
}

.pi-instagram:before {
    content: "\e9cc";
}

.pi-linkedin:before {
    content: "\e9cb";
}

.pi-send:before {
    content: "\e9ca";
}

.pi-slack:before {
    content: "\e9c9";
}

.pi-sun:before {
    content: "\e9c8";
}

.pi-moon:before {
    content: "\e9c7";
}

.pi-vimeo:before {
    content: "\e9c6";
}

.pi-youtube:before {
    content: "\e9c5";
}

.pi-flag:before {
    content: "\e9c4";
}

.pi-wallet:before {
    content: "\e9c3";
}

.pi-map:before {
    content: "\e9c2";
}

.pi-link:before {
    content: "\e9c1";
}

.pi-credit-card:before {
    content: "\e9bf";
}

.pi-discord:before {
    content: "\e9c0";
}

.pi-percentage:before {
    content: "\e9be";
}

.pi-euro:before {
    content: "\e9bd";
}

.pi-book:before {
    content: "\e9ba";
}

.pi-shield:before {
    content: "\e9b9";
}

.pi-paypal:before {
    content: "\e9bb";
}

.pi-amazon:before {
    content: "\e9bc";
}

.pi-phone:before {
    content: "\e9b8";
}

.pi-filter-slash:before {
    content: "\e9b7";
}

.pi-facebook:before {
    content: "\e9b4";
}

.pi-github:before {
    content: "\e9b5";
}

.pi-twitter:before {
    content: "\e9b6";
}

.pi-step-backward-alt:before {
    content: "\e9ac";
}

.pi-step-forward-alt:before {
    content: "\e9ad";
}

.pi-forward:before {
    content: "\e9ae";
}

.pi-backward:before {
    content: "\e9af";
}

.pi-fast-backward:before {
    content: "\e9b0";
}

.pi-fast-forward:before {
    content: "\e9b1";
}

.pi-pause:before {
    content: "\e9b2";
}

.pi-play:before {
    content: "\e9b3";
}

.pi-compass:before {
    content: "\e9ab";
}

.pi-id-card:before {
    content: "\e9aa";
}

.pi-ticket:before {
    content: "\e9a9";
}

.pi-file-o:before {
    content: "\e9a8";
}

.pi-reply:before {
    content: "\e9a7";
}

.pi-directions-alt:before {
    content: "\e9a5";
}

.pi-directions:before {
    content: "\e9a6";
}

.pi-thumbs-up:before {
    content: "\e9a3";
}

.pi-thumbs-down:before {
    content: "\e9a4";
}

.pi-sort-numeric-down-alt:before {
    content: "\e996";
}

.pi-sort-numeric-up-alt:before {
    content: "\e997";
}

.pi-sort-alpha-down-alt:before {
    content: "\e998";
}

.pi-sort-alpha-up-alt:before {
    content: "\e999";
}

.pi-sort-numeric-down:before {
    content: "\e99a";
}

.pi-sort-numeric-up:before {
    content: "\e99b";
}

.pi-sort-alpha-down:before {
    content: "\e99c";
}

.pi-sort-alpha-up:before {
    content: "\e99d";
}

.pi-sort-alt:before {
    content: "\e99e";
}

.pi-sort-amount-up:before {
    content: "\e99f";
}

.pi-sort-amount-down:before {
    content: "\e9a0";
}

.pi-sort-amount-down-alt:before {
    content: "\e9a1";
}

.pi-sort-amount-up-alt:before {
    content: "\e9a2";
}

.pi-palette:before {
    content: "\e995";
}

.pi-undo:before {
    content: "\e994";
}

.pi-desktop:before {
    content: "\e993";
}

.pi-sliders-v:before {
    content: "\e991";
}

.pi-sliders-h:before {
    content: "\e992";
}

.pi-search-plus:before {
    content: "\e98f";
}

.pi-search-minus:before {
    content: "\e990";
}

.pi-file-excel:before {
    content: "\e98e";
}

.pi-file-pdf:before {
    content: "\e98d";
}

.pi-check-square:before {
    content: "\e98c";
}

.pi-chart-line:before {
    content: "\e98b";
}

.pi-user-edit:before {
    content: "\e98a";
}

.pi-exclamation-circle:before {
    content: "\e989";
}

.pi-android:before {
    content: "\e985";
}

.pi-google:before {
    content: "\e986";
}

.pi-apple:before {
    content: "\e987";
}

.pi-microsoft:before {
    content: "\e988";
}

.pi-heart:before {
    content: "\e984";
}

.pi-mobile:before {
    content: "\e982";
}

.pi-tablet:before {
    content: "\e983";
}

.pi-key:before {
    content: "\e981";
}

.pi-shopping-cart:before {
    content: "\e980";
}

.pi-comments:before {
    content: "\e97e";
}

.pi-comment:before {
    content: "\e97f";
}

.pi-briefcase:before {
    content: "\e97d";
}

.pi-bell:before {
    content: "\e97c";
}

.pi-paperclip:before {
    content: "\e97b";
}

.pi-share-alt:before {
    content: "\e97a";
}

.pi-envelope:before {
    content: "\e979";
}

.pi-volume-down:before {
    content: "\e976";
}

.pi-volume-up:before {
    content: "\e977";
}

.pi-volume-off:before {
    content: "\e978";
}

.pi-eject:before {
    content: "\e975";
}

.pi-money-bill:before {
    content: "\e974";
}

.pi-images:before {
    content: "\e973";
}

.pi-image:before {
    content: "\e972";
}

.pi-sign-in:before {
    content: "\e970";
}

.pi-sign-out:before {
    content: "\e971";
}

.pi-wifi:before {
    content: "\e96f";
}

.pi-sitemap:before {
    content: "\e96e";
}

.pi-chart-bar:before {
    content: "\e96d";
}

.pi-camera:before {
    content: "\e96c";
}

.pi-dollar:before {
    content: "\e96b";
}

.pi-lock-open:before {
    content: "\e96a";
}

.pi-table:before {
    content: "\e969";
}

.pi-map-marker:before {
    content: "\e968";
}

.pi-list:before {
    content: "\e967";
}

.pi-eye-slash:before {
    content: "\e965";
}

.pi-eye:before {
    content: "\e966";
}

.pi-folder-open:before {
    content: "\e964";
}

.pi-folder:before {
    content: "\e963";
}

.pi-video:before {
    content: "\e962";
}

.pi-inbox:before {
    content: "\e961";
}

.pi-lock:before {
    content: "\e95f";
}

.pi-unlock:before {
    content: "\e960";
}

.pi-tags:before {
    content: "\e95d";
}

.pi-tag:before {
    content: "\e95e";
}

.pi-power-off:before {
    content: "\e95c";
}

.pi-save:before {
    content: "\e95b";
}

.pi-question-circle:before {
    content: "\e959";
}

.pi-question:before {
    content: "\e95a";
}

.pi-copy:before {
    content: "\e957";
}

.pi-file:before {
    content: "\e958";
}

.pi-clone:before {
    content: "\e955";
}

.pi-calendar-times:before {
    content: "\e952";
}

.pi-calendar-minus:before {
    content: "\e953";
}

.pi-calendar-plus:before {
    content: "\e954";
}

.pi-ellipsis-v:before {
    content: "\e950";
}

.pi-ellipsis-h:before {
    content: "\e951";
}

.pi-bookmark:before {
    content: "\e94e";
}

.pi-globe:before {
    content: "\e94f";
}

.pi-replay:before {
    content: "\e94d";
}

.pi-filter:before {
    content: "\e94c";
}

.pi-print:before {
    content: "\e94b";
}

.pi-align-right:before {
    content: "\e946";
}

.pi-align-left:before {
    content: "\e947";
}

.pi-align-center:before {
    content: "\e948";
}

.pi-align-justify:before {
    content: "\e949";
}

.pi-cog:before {
    content: "\e94a";
}

.pi-cloud-download:before {
    content: "\e943";
}

.pi-cloud-upload:before {
    content: "\e944";
}

.pi-cloud:before {
    content: "\e945";
}

.pi-pencil:before {
    content: "\e942";
}

.pi-users:before {
    content: "\e941";
}

.pi-clock:before {
    content: "\e940";
}

.pi-user-minus:before {
    content: "\e93e";
}

.pi-user-plus:before {
    content: "\e93f";
}

.pi-trash:before {
    content: "\e93d";
}

.pi-external-link:before {
    content: "\e93c";
}

.pi-window-maximize:before {
    content: "\e93b";
}

.pi-window-minimize:before {
    content: "\e93a";
}

.pi-refresh:before {
    content: "\e938";
}
  
.pi-user:before {
    content: "\e939";
}

.pi-exclamation-triangle:before {
    content: "\e922";
}

.pi-calendar:before {
    content: "\e927";
}

.pi-chevron-circle-left:before {
    content: "\e928";
}

.pi-chevron-circle-down:before {
    content: "\e929";
}

.pi-chevron-circle-right:before {
    content: "\e92a";
}

.pi-chevron-circle-up:before {
    content: "\e92b";
}

.pi-angle-double-down:before {
    content: "\e92c";
}

.pi-angle-double-left:before {
    content: "\e92d";
}

.pi-angle-double-right:before {
    content: "\e92e";
}

.pi-angle-double-up:before {
    content: "\e92f";
}

.pi-angle-down:before {
    content: "\e930";
}

.pi-angle-left:before {
    content: "\e931";
}

.pi-angle-right:before {
    content: "\e932";
}

.pi-angle-up:before {
    content: "\e933";
}

.pi-upload:before {
    content: "\e934";
}

.pi-download:before {
    content: "\e956";
}

.pi-ban:before {
    content: "\e935";
}

.pi-star-fill:before {
    content: "\e936";
}

.pi-star:before {
    content: "\e937";
}

.pi-chevron-left:before {
    content: "\e900";
}

.pi-chevron-right:before {
    content: "\e901";
}

.pi-chevron-down:before {
    content: "\e902";
}

.pi-chevron-up:before {
    content: "\e903";
}

.pi-caret-left:before {
    content: "\e904";
}

.pi-caret-right:before {
    content: "\e905";
}

.pi-caret-down:before {
    content: "\e906";
}

.pi-caret-up:before {
    content: "\e907";
}

.pi-search:before {
    content: "\e908";
}

.pi-check:before {
    content: "\e909";
}

.pi-check-circle:before {
    content: "\e90a";
}

.pi-times:before {
    content: "\e90b";
}

.pi-times-circle:before {
    content: "\e90c";
}

.pi-plus:before {
    content: "\e90d";
}

.pi-plus-circle:before {
    content: "\e90e";
}

.pi-minus:before {
    content: "\e90f";
}

.pi-minus-circle:before {
    content: "\e910";
}

.pi-circle-on:before {
    content: "\e911";
}

.pi-circle-off:before {
    content: "\e912";
}

.pi-sort-down:before {
    content: "\e913";
}

.pi-sort-up:before {
    content: "\e914";
}

.pi-sort:before {
    content: "\e915";
}

.pi-step-backward:before {
    content: "\e916";
}

.pi-step-forward:before {
    content: "\e917";
}

.pi-th-large:before {
    content: "\e918";
}

.pi-arrow-down:before {
    content: "\e919";
}

.pi-arrow-left:before {
    content: "\e91a";
}

.pi-arrow-right:before {
    content: "\e91b";
}

.pi-arrow-up:before {
    content: "\e91c";
}

.pi-bars:before {
    content: "\e91d";
}

.pi-arrow-circle-down:before {
    content: "\e91e";
}

.pi-arrow-circle-left:before {
    content: "\e91f";
}

.pi-arrow-circle-right:before {
    content: "\e920";
}

.pi-arrow-circle-up:before {
    content: "\e921";
}

.pi-info:before {
    content: "\e923";
}

.pi-info-circle:before {
    content: "\e924";
}

.pi-home:before {
    content: "\e925";
}

.pi-spinner:before {
    content: "\e926";
}
/* Base Button Styles */
.custom_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0.375rem;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
  box-sizing: border-box;
  gap: 0.5rem;
}

/* Button Text and Icon Elements */
.custom_button__text {
  display: inline-block;
}

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

.custom_button__icon--left {
  margin-right: 0.25rem;
}

.custom_button__icon--right {
  margin-left: 0.25rem;
}

.custom_button__spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* Size Variations */
.custom_button--small {
  padding: 0.5rem 1rem;
  font-size: var(--font-size-small);
  min-height: 36px;
}

.custom_button--medium {
  padding: 0.75rem 1.5rem;
  font-size: var(--font-size-normal);
}

.custom_button--large {
  padding: 1rem 2rem;
  font-size: var(--font-size-large);
  min-height: 3.5rem;
}

/* Width Variations */
.custom_button--full-width {
  width: 100%;
}

/* Primary Variant */
.custom_button--primary {
  background-color: var(--primary-color, #d31f1f);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--primary:hover:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--primary:active:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  transform: translateY(1px);
}

/* Secondary Variant */
.custom_button--secondary {
  background-color: var(--light, #ffffff);
  color: var(--dark, #000000);
  border: 1px solid var(--gray300, #e1e1e1);
}

.custom_button--secondary:hover:not(:disabled) {
  background-color: #f5f5f5;
  border-color: var(--gray500, #b3b3b3);
}

.custom_button--secondary:active:not(:disabled) {
  background-color: #e5e5e5;
  transform: translateY(1px);
}

/* tertiary Variant */
.custom_button--tertiary {
  background-color: var(--secondary-black-light, #222831);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--tertiary:hover:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--tertiary:active:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  transform: translateY(1px);
}

/* Outline Variant */
.custom_button--outline {
  background-color: transparent;
  color: var(--primary-color, #d31f1f);
  border: 1.5px solid var(--primary-color, #d31f1f);
}

.custom_button--outline:hover:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
}

.custom_button--outline:active:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
  transform: translateY(1px);
}

/* Ghost Variant */
.custom_button--ghost {
  background-color: transparent;
  color: var(--primary);
  border: none;
}

.custom_button--ghost:hover:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.1);
}

.custom_button--ghost:active:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.2);
}

/* Danger Variant */
.custom_button--danger {
  background-color: var(--secondary-red);
  color: var(--light);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--danger:hover:not(:disabled) {
  background-color: #dc2626;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--danger:active:not(:disabled) {
  background-color: var(--secondary-red700);
  transform: translateY(1px);
}

/* Disabled State */
.custom_button--disabled,
.custom_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Loading State */
.custom_button--loading {
  cursor: not-allowed;
  pointer-events: none;
}

.custom_button--loading .custom_button__text {
  opacity: 0.7;
}

/* Focus States */
.custom_button:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--primary-hover200);
}

.custom_button--secondary:focus {
  box-shadow: 0 0 0 3px rgba(var(--gray600), 0.3);
}

.custom_button--danger:focus {
  box-shadow: 0 0 0 3px var(--secondary-red-hover200);
}

/* Spinner Animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Responsive Design */
@media (max-width: 768px) {
  .custom_button--large {
    padding: 14px 28px;
    font-size: 16px;
    min-height: 52px;
  }
  .custom_button--medium {
    padding: 10px 20px;
    font-size: 15px;
  }
  .custom_button--small {
    padding: 6px 12px;
    font-size: 13px;
    min-height: 32px;
  }
}
/* Global CSS Override for Dropdown Options */
select option:checked,
select option:focus,
select option:hover,
select option:active {
  background-color: #d31f1f !important;
  color: white !important;
}

select option {
  background-color: white !important;
  color: #171717 !important;
}

/* CSS Variables */
:root {
  /* === Main Color Scheme === */
  /* Primary Color (Red) */
  --primary-color: #d31f1f;
  /* Secondary Color (Black) */
  --secondary-color: #171717;
  /* Background Color (White) */
  --background-color: #ffffff;
  /* Accent 1 (Dark Gray) */
  --accent-1: #444444;
  /* Accent 2 (Light Gray) */
  --accent-2: #f0f0f0;
  /* === Color Variations === */
  /* Primary Red Color Variations (Primary/Highlights, Buttons, Alerts) */
  --primary-red-dark: #b22222;
  --primary-red-main: #d31f1f;
  --primary-red-light: #ff6b6b;
  --primary-red-lighter: #ff3a22;
  /* Secondary Black Color Variations (Text, Charts, Navigation) */
  --secondary-black-darkest: #171717;
  --secondary-black-dark: #232323;
  --secondary-black-medium: #1c1c1e;
  --secondary-black-light: #222831;
  /* Background White Color Variations (Background, Cards, Modals) */
  --background-white-pure: #f7f7f7;
  --background-white-light: #f4f4f9;
  --background-white-medium: #fcfcfc;
  --background-white-main: #ffffff;
  /* Accent 1 Dark Gray Color Variations (Text, Muted icons, Chart Lines) */
  --accent-gray-darkest: #3a4347;
  --accent-gray-medium: #6d8196;
  --accent-gray-light: #6a89a7;
  --accent-gray-lightest: #95abc1;
  /* Accent 2 Light Gray Color Variations (Surfaces, Containers) */
  --accent-light-gray-dark: #cbcaca;
  --accent-light-gray-medium: #dadada;
  --accent-light-gray-light: #eaeaea;
  --accent-light-gray-lightest: #f0f0f0;
  /* Success Green Color (BI status/success indicators) */
  --success-green-dark: #198038;
  --success-green-medium: #24b47e;
  --success-green-light: #24b47e;
  --success-green-lightest: #b9fbc0;
  /* Warning Yellow Color (BI warning indicators) */
  --warning-yellow-dark: #fcc419;
  --warning-yellow-medium: #f1c21b;
  --warning-yellow-light: #ffd166;
  --warning-yellow-lightest: #fff2cc;
  /* Info Blue Color (NLP User Input, info states) */
  --info-blue-dark: #335c81;
  --info-blue-medium: #118ab2;
  --info-blue-light: #a3cff1;
  --info-blue-lightest: #b8dbd9;
  /* === Background Colors === */
  /* Layout & Container Backgrounds */
  --bg-base: #f2f2f2;
  --bg-sidebar: #f2f2f2;
  --bg-nav-container: #f0f0f0;
  --bg-container: #ffffff;
  /* Element Backgrounds */
  --bg-count-icon-active: #6a89a7;
  --bg-count-icon-default: #eaeaea;
  /* Progress & Status Backgrounds */
  --bg-progress-base: #eaeaea;
  --bg-progress-bar: #335c81;
  /* Button Backgrounds */
  --bg-btn-inactive: #eaeaea;
  --bg-btn-default: #222831;
  --bg-btn-hover: #d31f1f;
  /* Modal & Overlay Backgrounds */
  --bg-modal-overlay: rgba(68, 68, 68, 0.85);
  /* #444444 with 85% opacity */
  --bg-modal-container: #ffffff;
  /* Alert Backgrounds */
  --bg-alert-success: #e9ffeb;
  --bg-alert-warning: #fff8e6;
  --bg-alert-error: #ffe8e8;
  --bg-alert-info: #e9ffeb;
  /* Divider & Separator Backgrounds */
  --bg-divider: #cecece;
  /* === Border Colors === */
  /* Layout & Container Borders */
  --border-base: #e2e2e2;
  --border-container: #e2e2e2;
  --border-nav: #f0f0f0;
  --border-section: #e2e2e2;
  --border-divider: #e2e2e2;
  /* Button Borders */
  --border-btn-inactive: #eaeaea;
  --border-btn-default: #222831;
  --border-btn-hover: #222831;
  /* Modal & Overlay Borders */
  --border-modal: #ffffff;
  /* Alert Borders */
  --border-alert-success: #24b47e;
  --border-alert-warning: #ffd166;
  --border-alert-error: #d31f1f;
  --border-alert-info: #24b47e;
  /* Additional Border Colors */
  --border-color: #e1e1e1;
  --border-hover: #b3b3b3;
  /* === Typography === */
  /* Base Font Sizes */
  --font-size-xlarge: clamp(28px, 8vw, 36px);
  --font-size-xlarge-2: clamp(24px, 6vw, 32px);
  --font-size-large: clamp(20px, 4vw, 24px);
  --font-size-normal: 16px;
  --font-size-small: 14px;
  /* Login input labels, placeholders, links, CTA buttons, navigation labels */
  --font-size-xsmall: 12px;
  /* Error messages, navigation headers, file selection text */
  /* Heading Font Sizes */
  --h1-font-size: clamp(24px, 5vw, 28px);
  --h2-font-size: clamp(20px, 4vw, 24px);
  --h3-font-size: clamp(18px, 3vw, 20px);
  /* Container headers, Sub-titles */
  --h4-font-size: clamp(16px, 3.5vw, 18px);
  /* Pop-up headers */
  --h5-font-size: 16px;
  /* Count icons */
  --h6-font-size: 12px;
  /* Font Weights */
  --font-weight700: 700;
  --font-weight500: 500;
  --font-weight400: 400;
  --font-weight300: 300;
  /* Text Colors */
  --text-secondary: #6e6e6e;
  --txt-title-gray: #c3c2c2;
  /* === Spacing === */
  /* Padding */
  --padding-input-default: 20px 30px;
  --padding-container-large: 40px;
  --padding-container-medium: 30px 20px;
  --padding-container-default: 20px;
  --padding-container-small: 10px 20px 15px 20px;
  --padding-element-narrow: 4px 6px;
  --padding-element-standard: 8px 15px;
  --padding-element-medium: 10px 15px;
  --padding-element-wide: 12px 20px;
  --padding-alert: 10px 15px;
  --padding-modal: 20px;
  /* Margins */
  --margin-error: 4px 0 0 0;
  --margin-container: 20px;
  --margin-content: 10px 0;
  --margin-icon-text: 0 10px;
  --margin-tab-default: 20px 40px 10px 0;
  --margin-tab-active: 20px 40px 10px 0;
  --margin-tab-hover: 20px 40px 10px 0;
  --margin-divider: 10px 20px 20px 20px;
  /* Gap Sizes */
  --gap-icon-text: 10px;
  --gap-icon-container: 20px;
  /* === Layout === */
  /* Grid Sizes */
  --grid-size-small: 576px;
  --grid-size-medium: 768px;
  --grid-size-large: 992px;
  --grid-size-xlarge: 1140px;
  /* === UI Elements === */
  /* Dropdown */
  --dropdown-options: #292929cc;
  --dropdown-options-focused: #292929;
  --dropdown-bg: #bfe7ff;
  /* Common Colors */
  --msgColor: #ffffff;
  --body-bg: #f8f8f8;
  --light: #ffffff;
  --dark: #000000;
  --primary-dark: #1565c0;
  /* === Legacy Color Variables (keeping for backward compatibility) === */
  --gray50: #bacad6;
  --gray75: #fafafa;
  --gray100: #f5f5f5;
  --gray200: #eaeaea;
  --gray300: #e1e1e1;
  --gray400: #cacaca;
  --gray500: #b3b3b3;
  --gray650: #6a89a7;
  --gray600: #8e8e8e;
  --gray700: #335c81;
  --gray800: #4b4b4b;
  --gray900: #2c2c2c;
  --primary400: #4cc3fd;
  --primary500: #11a1fd;
  --primary600: #0c7dd9;
  --primary700: #085db6;
  --primary-hover200: rgba(17, 161, 253, 0.2);
  --secondary-red400: #ff6b6b;
  --secondary-red500: #d51f30;
  --secondary-red600: #b51c2a;
  --secondary-red700: #85010d;
  --secondary-red-hover200: #e96e7a;
  --secondary-purple400: #8298fb;
  --secondary-purple500: #5a75f9;
  --secondary-purple600: #4259d4;
  --secondary-purple700: #3247b5;
  --secondary-green400: #3cd795;
  --secondary-green500: #07c180;
  --secondary-green600: #06a57d;
  --secondary-green700: #038673;
  --secondary-yellow400: #ffb866;
  --secondary-yellow500: #ff9931;
  --secondary-yellow600: #db7823;
  --secondary-yellow700: #b45917;
  --secondary-yellow-hover200: #ffb866;
  --secondary-gray400: #cedfe8;
  --secondary-gray500: #a7c1d2;
  --secondary-gray600: #7d9eb5;
  --secondary-gray700: #486f88;
  --secondary-navy-blue: #213345;
  --skeleton-bg: #e5e7eb;
  --skeleton-shimmer: #f3f4f6;
  --skeleton-radius-sm: 4px;
  --skeleton-radius-md: 8px;
  --skeleton-radius-lg: 16px;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Ubuntu", sans-serif;
  background-color: var(--body-bg);
  color: var(--gray900);
  line-height: 1.6;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

/* Utility Classes */
.flex {
  display: flex;
}

.column {
  flex-direction: column;
}

.justify_center {
  justify-content: center;
}

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

.align_center {
  align-items: center;
}

.p_10 {
  padding: 10px;
}

.grid {
  display: grid;
}

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

.grid_center {
  place-items: center;
}

.col_span_2 {
  grid-column: span 2;
}

.col_start_2 {
  grid-column-start: 2;
}

.section_card {
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.max_width {
  max-width: 400px;
  width: 100%;
}

.h_auto {
  height: auto;
}

/* Login Center Wrapper */
.login_center_wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-image: url("/assets/Login-op3-D1d2AstO.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.p-password-panel {
  padding: 20px;
  font-family: "ubuntu", sans-serif;
}

.p-icon-field {
  width: 100%;
  display: flex;
  align-items: center;
}

.p-input-icon {
  top: 25%;
}

/* Form Styles */
.form_wrapper_parent {
  width: 50%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--background-color);
}

.form_wrapper {
  max-width: 61.5%;
}

.formside_parent {
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  width: 50%;
  background-color: var(--bg-base);
  padding: 40px;
}
.formside_parent .formside_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
  width: 100%;
  height: 80%;
}
.formside_parent .formside_content h1 {
  font-size: 24px;
}

.form_header {
  margin-bottom: 20px;
}

.form_header_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.form_description {
  color: var(--accent-gray-darkest);
  font-size: var(--font-size-small);
  text-align: left;
  line-height: 20px;
  margin-bottom: 24px;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0px;
}

.logo {
  height: 48px;
  width: auto;
}

.form {
  width: 100%;
}

.form_links_bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  padding: 0;
  text-align: center;
  gap: 10px;
}
.form_links_bottom .form_link {
  color: #118ab2;
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.form_links_bottom .form_link:hover {
  color: #118ab2;
}

.form_control:focus-visible {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
  outline: none;
}

.form_control.invalid {
  border-color: var(--secondary-red500);
  background: rgba(213, 31, 48, 0.1);
  color: var(--secondary-red500);
}

.form_input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: var(--font-size-normal);
  transition: border-color 0.3s ease;
  background: var(--light);
}

.form_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 2px var(--primary-hover200);
}

.form_input.error_input {
  border-color: var(--secondary-red500);
}

.form_group_btn_wrapper {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.show_password_btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.form_actions {
  margin-top: 10px;
}
.form_actions .btn_wrapper {
  width: 100%;
}
.form_actions button {
  width: 100%;
  padding: 12px 0;
  font-size: 14px;
  border-radius: 5px;
  background: var(--secondary-black-light);
  color: #fff;
  border: none;
  transition: background 0.2s;
  font-weight: var(--font-weight500);
}
.form_actions button:hover:not(:disabled) {
  background-color: var(--primary-red-dark);
}
.form_actions button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}

.success-message-modal-wrapper {
  border: 1px solid var(--accent-light-gray-light);
  padding: 40px 20px;
  box-shadow: 0px 0px 10px 0px rgba(203, 202, 202, 0.5019607843);
  border-radius: 8px;
}

.success-message-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
}

.modal-message {
  display: flex;
  flex-direction: column;
}

.show_password_btn:hover {
  background-color: var(--gray200);
}

.show_password_btn .icon {
  width: 20px;
  height: 20px;
  fill: var(--gray600);
}

.error_section {
  margin-top: 4px;
}

.error_text {
  color: var(--secondary-red500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: start;
}

.success_text {
  color: var(--secondary-green500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}

.success_icon {
  color: var(--secondary-green500);
  font-size: 16px;
  font-weight: bold;
}

.error_icon {
  color: var(--secondary-red500);
  font-size: 16px;
  font-weight: bold;
}

/* 2FA OTP Input Styles */
.otp_input_container {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 20px 0;
}

.otp_input {
  width: 38px;
  height: 38px;
  border: 1px solid var(--accent-light-gray-medium);
  border-radius: 6px;
  text-align: center;
  font-size: 18px;
  font-weight: var(--font-weight500);
  background: var(--background-white-pure);
  transition: all 0.3s ease;
}
.otp_input::placeholder {
  color: #9ca3af;
}
.otp_input:focus::placeholder {
  color: transparent;
}

.otp_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 1px var(--border-btn-default);
}

.otp_input.filled {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
}

.otp_input.error {
  border-color: var(--secondary-red500);
  background-color: rgba(220, 53, 69, 0.1);
}

.resend_link {
  background: none;
  border: none;
  color: #48a9ee;
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: color 0.3s ease;
}
.resend_link:hover {
  text-decoration: underline;
}

.resend_link:hover:not(:disabled) {
  color: var(--primary600);
}

.resend_link:disabled {
  color: var(--gray500);
  cursor: not-allowed;
}

.help_text {
  color: var(--primary500);
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

.help_text:hover {
  color: var(--primary600);
}

/* Button Styles */
.btn_wrapper {
  width: 100%;
}

.btn_group_wrapper {
  margin-top: 20px;
}

.theme_button {
  width: 100%;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.theme_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.primary_btn {
  width: 100%;
  padding: 12px 0;
  font-size: 16px;
  border-radius: 5px;
  background: var(--primary500);
  color: #fff;
  border: none;
  transition: background 0.2s;
  margin-top: 1rem;
}

.primary_btn:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
}

.primary_btn:hover:not(:disabled) {
  background-color: var(--primary600);
}

.secondary_btn {
  background-color: var(--gray200);
  color: var(--gray800);
}

.secondary_btn:hover:not(:disabled) {
  background-color: var(--gray300);
}

/* Dashboard Styles */
.dashboard-page {
  height: 100%;
  background-color: var(--body-bg);
}

.dashboard-header {
  background: var(--light);
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dashboard-header h1 {
  color: var(--primary500);
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
}

.logout-btn {
  background-color: var(--secondary-red500);
  color: var(--light);
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: var(--font-size-small);
  transition: background-color 0.3s ease;
}

.logout-btn:hover {
  background-color: var(--secondary-red600);
}

.dashboard_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: flex-start;
  padding-top: 40px;
  align-items: center;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

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

/* Dashboard Wrapper */
.dashboard_wrapper {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  padding-bottom: 0;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  align-items: center;
  overflow: hidden;
  overflow-y: auto;
}

/* Ensure the main content area has proper spacing only when input is fixed */
.dashboard_wrapper.has-fixed-input .dashboard_content {
  transition: padding-bottom 0.3s ease;
}

/* Ensure the main content area has proper spacing */
.dashboard_wrapper .dashboard_content {
  flex: 1;
  width: 100%;
  max-width: 1400px;
  transition: padding-bottom 0.3s ease;
}

/* Ensure the page content area works well with fixed input */
.page_content {
  overflow-y: auto;
  background: #f9fafb;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Dashboard split container for side-by-side layout */
.dashboard_split_container {
  display: flex;
  height: 100%;
  max-height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Dashboard wrapper takes 65-70% when source panel is open */
.dashboard_wrapper {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: flex 0.35s cubic-bezier(0.4, 0, 0.2, 1), margin 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: flex, margin, width;
}

/* When source panel is open, wrapper shrinks to make room */
.dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
  flex: 1 1 auto;
}

/* Dashboard content with independent scrolling */
.dashboard_content {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  /* Smooth scrolling */
  scroll-behavior: smooth;
  /* Custom scrollbar */
}
.dashboard_content::-webkit-scrollbar {
  width: 6px;
}
.dashboard_content::-webkit-scrollbar-track {
  background: transparent;
}
.dashboard_content::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}
.dashboard_content::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.forgot-password-button {
  border: 1px solid var(--bg-btn-default);
  margin-top: 10px;
}

/* Responsive adjustments for split-screen */
@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
  .dashboard_content {
    min-width: 0;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 768px) {
  .dashboard_split_container {
    position: relative;
  }
  .dashboard_content {
    min-width: 100%;
  }
  .dashboard_wrapper {
    width: 100%;
  }
  /* On mobile, source panel is overlay, wrapper stays full width */
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
  }
}
/* Only add bottom padding when there's a fixed input */
/* Sidebar hidden state - completely hide the sidebar */
.main_content.sidebar-hidden .modern_sidebar {
  display: none !important;
}

.main_content.sidebar-hidden .dashboard_split_container .dashboard_wrapper {
  margin-left: 0 !important;
}

/* Chat container width adjustment when source panel is open */
.dashboard_split_container:has(.source-panel.open) .chat_container {
  width: 90%;
}

/* Fixed Input - ensure it stays within chat area when source panel opens */
.dashboard_split_container .fixed_input {
  z-index: 100;
  /* Ensure it's above chat content but below source panel */
}

/* Collapsed sidebar adjustments for fixed_input */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
  max-width: calc(70vw - 65px - 80px);
}

@media (min-width: 1400px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(72vw - 65px - 80px);
  }
}
@media (max-width: 1200px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(65vw - 65px - 60px);
  }
}
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_input {
    /* On mobile, source panel is overlay, input stays full width */
    max-width: calc(100vw - 32px);
  }
}
/* Fixed Chat Input Wrapper */
.fixed_chat_input_wrapper {
  position: fixed;
  bottom: 0;
  left: 280px;
  /* Account for sidebar width */
  right: 0;
  z-index: 1000;
  background: #f8f8f8;
  border-top: 1px solid #e5e7eb;
  padding: 16px 32px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
  overflow: hidden;
}

/* Adjust for source panel open - use percentage matching panel width */
.dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  right: 30%;
}

@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 28%;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 35%;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 40%;
  }
}
/* Adjust for collapsed sidebar */
.main_content.sidebar-collapsed .fixed_chat_input_wrapper {
  left: 65px;
}

/* Adjust for collapsed sidebar + source panel open */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  left: 65px;
}

.conversation_tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversation_tile.active {
  background: #fff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .fixed_chat_input_wrapper {
    left: 0 !important;
    right: 0 !important;
    padding: 16px;
  }
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 0 !important;
  }
  .dashboard_content {
    padding: 20px;
    /*padding-bottom: 120px;*/
  }
  .center_input_section,
  .fixed_input_section {
    max-width: 100%;
    padding: 0 16px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .fixed_chat_input_wrapper {
    padding: 12px;
  }
  .dashboard_content {
    padding: 20px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 48px;
    height: 48px;
    padding: 10px;
  }
  .fixed_input_section {
    padding: 0 8px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
/* Ensure tooltips are always on top */
.tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--secondary-black-darkest);
  color: var(--background-white-main);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  z-index: 99999 !important;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  animation: tooltipFadeIn 0.2s ease-out;
}
.tooltip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--secondary-black-darkest);
}

@keyframes tooltipFadeIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* Ensure separator lines and borders are below tooltips */
/* Ensure answer containers don't clip tooltips */
.answer_container {
  overflow: visible !important;
  background-color: var(--accent-2);
  padding: 30px;
  border-radius: 10px;
  border: 1px solid var(--border-base);
}

/* Ensure chat containers don't clip tooltips */
.chat_container {
  overflow: visible !important;
}

/* Dashboard Header Section */
.dashboard_header_section {
  text-align: center;
  margin-bottom: 40px;
  /* Increased margin for better spacing */
  padding: 0 20px;
  width: 100%;
}

.dashboard_main_title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 10px;
  font-size: 36px;
  color: var(--secondary-color);
  line-height: 1.3;
}

.dashboard_subtitle {
  font-size: 16px;
  margin: 0;
  line-height: 1.5;
}

/* Dashboard Input Section */
.dashboard_input_section {
  margin-bottom: 48px;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Center Input Section - for first visit */
.center_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
}

.center_input_section .input_container {
  max-width: 1200px;
  height: 186px;
  /* Match the suggestions grid max-width */
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.center_input_section .input_container:focus-within {
  border-color: #d31f1f;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}

.input_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 18px;
  padding: 20px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  /* Gradient border using background-clip trick */
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* border gradient */
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.input_container:focus-within {
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* focus gradient */
}

/* Top section containing icons and input */
.input_top_section {
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #ffffff;
}

/* Left side icons container */
.input_left_icons {
  display: flex;
  background-color: #eaeaea;
  justify-content: space-between;
  align-items: center;
  border-right: 1px solid #f0f0f0;
  border-radius: 32px;
  padding: 0 10px;
  width: 88px;
  height: 28px;
}

/* Individual left icons */
.input_icon {
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  color: #6d8196;
  transform: scale(1.1);
}
.input_icon:hover {
  background: #f3f4f6;
  color: #374151;
  transform: scale(1.05);
}
.input_icon:active {
  transform: scale(0.95);
}

/* Bottom section containing buttons */
.input_bottom_section {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: flex-end;
}

/* Right side buttons container */
.input_right_buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  color: #6b7280;
}
.input_mic_btn:hover {
  background: #e5e7eb;
  color: #374151;
}

.input_submit_btn {
  background: var(--secondary-black-light);
  color: white;
  border: none;
  cursor: pointer;
  padding: 8px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.dashboard_input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 16px;
  color: #1f2937;
  background: transparent;
  border-radius: 0;
}
.dashboard_input::placeholder {
  color: #9ca3af;
  font-size: 16px;
}

/* Suggestions Section */
.suggestions_section {
  margin-bottom: 48px;
}

/* Suggestion Cards Styling */
.suggestions_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.suggestions_grid > .suggestion_card {
  flex: 1 1 300px;
  max-width: 1fr;
}

.suggestion_card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-width: 300px;
  max-width: 300px;
}
.suggestion_card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

/* Card Header */
.card_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.card_heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.card_icon {
  font-size: 24px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

/* Icon Colors */
.card_icon.growth {
  color: #10b981;
  /* Green for growth */
}

.card_icon.forecasting {
  color: #3b82f6;
  /* Blue for forecasting */
}

.card_icon.correlation {
  color: #f59e0b;
  /* Orange for correlation */
}

.card_title {
  font-size: 10px;
  font-weight: 400;
  color: var(--secondary-color);
}

/* Card Subtitle */
.card_subtitle {
  font-size: 16px;
  color: var(--secondary-color);
  font-weight: 500;
}

/* Card Content */
.card_description {
  display: block;
  color: #374151;
  line-height: 1.6;
}

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

.card_description.expanded {
  display: block;
}

.credits_wrapper {
  width: 98%;
  padding: 0px;
  position: sticky;
  top: 0;
  z-index: 100;
}

.card_link {
  color: #3b82f6;
  cursor: pointer;
  text-decoration: underline;
  font-weight: 500;
  font-size: 14px;
}
.card_link:hover {
  color: #2563eb;
}

/* Feedback Icons */
.card_feedback {
  display: flex;
  gap: 8px;
  align-items: center;
}

.feedback_icon {
  color: #9ca3af;
  font-size: 26px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.feedback_icon:hover {
  color: #6b7280;
  background-color: #f3f4f6;
}

/* Quick Actions Section */
.quick_actions_section {
  margin-bottom: 48px;
}

/* Responsive Dashboard Styles */
@media (max-width: 768px) {
  .dashboard_content {
    padding: 20px;
  }
  .dashboard_header_section {
    padding: 0 10px;
  }
  .dashboard_input_section {
    margin-bottom: 32px;
    padding: 0 10px;
  }
  .dashboard_input {
    font-size: 14px;
    padding: 10px 12px;
  }
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .quick_actions_grid {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
@media (max-width: 480px) {
  .dashboard_main_title {
    font-size: 20px;
  }
  .input_plus_btn,
  .input_mic_btn,
  .input_submit_btn {
    font-size: 14px;
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .card_title {
    font-size: 16px;
  }
  .card_description {
    font-size: 13px;
  }
}
.dashboard-content h2 {
  color: var(--gray800);
  margin-bottom: 20px;
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight600);
}

.user-info {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.user-info h3 {
  color: var(--gray800);
  margin-bottom: 10px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}

.user-info h4 {
  color: var(--gray800);
  margin: 20px 0 10px 0;
  font-size: var(--h5-font-size);
  font-weight: var(--font-weight600);
}

.user-details {
  margin-bottom: 20px;
}

.user-details p {
  margin: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
}

.user-details strong {
  color: var(--gray800);
  font-weight: var(--font-weight600);
}

.user-info pre {
  background: var(--gray100);
  padding: 15px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: var(--font-size-small);
  color: var(--gray800);
}

.dashboard-features {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.dashboard-features h3 {
  color: var(--gray800);
  margin-bottom: 15px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}

.dashboard-features ul {
  list-style: none;
  padding: 0;
}

.dashboard-features li {
  padding: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
  border-bottom: 1px solid var(--gray200);
}

.dashboard-features li:last-child {
  border-bottom: none;
}

/* Responsive Design */
@media (max-width: 768px) {
  .grid_cols_4 {
    grid-template-columns: 1fr;
  }
  .col_span_2 {
    grid-column: span 1;
  }
  .col_start_2 {
    grid-column-start: 1;
  }
  .max_width {
    max-width: 100%;
    margin: 0 20px;
  }
  .dashboard-content {
    padding: 20px;
  }
}
/* Pagination Styles */
.pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}

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

.pagination .btn_wrapper button {
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  background: var(--light);
  color: var(--text-secondary);
  font-size: var(--font-size-xsmall);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 40px;
  height: 36px;
  font-weight: var(--font-weight500);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination .btn_wrapper button:hover:not(:disabled) {
  background: var(--gray75);
  border-color: var(--border-hover);
  color: var(--gray800);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pagination .btn_wrapper button.primary_btn {
  background: var(--primary500);
  color: var(--light);
  border-color: var(--primary500);
  box-shadow: 0 2px 4px rgba(17, 161, 253, 0.3);
}

.pagination .btn_wrapper button.primary_btn:hover {
  background: var(--primary600);
  border-color: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.4);
}

.pagination .btn_wrapper button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: var(--gray75);
  color: var(--gray500);
  transform: none;
  box-shadow: none;
}

/* Table Responsive Utilities */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
  .pagination {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.pagination .btn_wrapper button {
  min-width: 36px;
  height: 32px;
  padding: 6px 10px;
  font-size: 11px;
}

.user-chat-container::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Edge */
}

.user-chat-container {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}
.user-chat-container h3 {
  font-weight: 400;
  padding: 10px;
  background-color: var(--gray200);
  border-radius: 10px;
  display: inline-block;
  align-self: flex-end;
}
.user-chat-container p {
  padding: 10px;
  text-align: left;
}
.user-chat-container .error-text {
  padding: 0;
  margin-left: 30px;
}

.empty_text {
  color: var(--accent-gray-medium);
}

.quick_actions_container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 20px;
}

/* Error Boundary Styles */
.error-boundary {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  padding: 40px;
}

.error-content {
  text-align: center;
  max-width: 500px;
}

.error-content h3 {
  color: var(--gray800);
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
}

.error-content p {
  color: var(--gray600);
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.5;
}

.retry-button {
  background: var(--primary500);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.retry-button:hover {
  background: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.3);
}

/* No Data Message Styles */
.no-data-message {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  margin: 20px 0;
}

.no-data-message p {
  color: var(--gray600);
  margin: 0;
  font-style: italic;
}

/* Error Display Styles */
.error-display {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}

.error-display h3 {
  color: #dc2626;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
}

.error-display p {
  color: #7f1d1d;
  margin-bottom: 16px;
  font-size: 14px;
}

/* Fixed Input Section */
.fixed_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 146px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* Ensure input container is properly styled in fixed position */
.fixed_input_section .input_container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  width: 100%;
  max-width: 1200px;
  /* Increased from 800px to match dashboard content width */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.fixed_input_section .input_container:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}

/* Ensure the input field itself is properly styled */
.fixed_input_section .dashboard_input {
  background: transparent;
  border: none;
  outline: none;
  font-size: 16px;
  padding: 14px;
  color: #1f2937;
  flex: 1;
}
.fixed_input_section .dashboard_input::placeholder {
  color: #9ca3af;
}

/* Style the buttons in the fixed input */
.fixed_input_section .input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  color: #6b7280;
}
.fixed_input_section .input_mic_btn:hover {
  background: #f3f4f6;
}

.fixed_input_section .input_submit_btn {
  background: var(--primary500);
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 12px;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 54px;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  margin-left: 8px;
}
.fixed_input_section .input_submit_btn:hover {
  background: var(--primary600);
}

.settings-title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 24px 0;
  line-height: 1.3;
  text-align: start;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.reset-password-error {
  background: #f8d7da;
  color: var(--primary-red-dark);
  padding: 20px;
}

.send-reset-again {
  text-decoration: underline;
  cursor: pointer;
}

.react-joyride__spotlight {
  transform: scale(1.05);
  transition: transform 0.25s ease;
}

.page_content {
  overflow-y: auto !important;
  overflow-x: hidden;
}

.avatar-tooltip-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.avatar-tooltip-wrapper .tooltip {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.avatar-tooltip-wrapper:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

/* Responsive Design */
@media (max-width: 768px) {
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .card_title {
    font-size: 18px;
  }
  .card_subtitle {
    font-size: 14px;
  }
  .center_input_section {
    max-width: 100%;
  }
  .center_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .suggestion_card {
    padding: 16px;
  }
  .card_icon {
    font-size: 20px;
    width: 28px;
    height: 28px;
  }
  .card_title {
    font-size: 16px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 40px;
    height: 40px;
    padding: 10px;
  }
  .center_input_section .input_mic_btn,
  .fixed_input_section .input_mic_btn {
    min-width: 36px;
    height: 36px;
    padding: 8px;
  }
  .center_input_section .input_icon,
  .fixed_input_section .input_icon {
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .center_input_section .input_left_icons,
  .fixed_input_section .input_left_icons {
    gap: 12px;
    padding: 0 12px;
  }
  .center_input_section .input_right_buttons,
  .fixed_input_section .input_right_buttons {
    gap: 8px;
    padding: 0;
  }
  .center_input_section .input_bottom_section,
  .fixed_input_section .input_bottom_section {
    padding: 8px 12px;
  }
}
.chat_container {
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin: 0 auto;
  width: 70dvw;
  padding: 20px 0;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: width;
}
.chat_container .question-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 10px;
}
.chat_container .question-container button {
  background: none;
  border: none;
}
.chat_container .question-container .question {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-2);
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-base);
  color: var(--accent-gray-darkest);
  font-weight: 400;
  font-size: 14px;
  text-align: left;
}
.chat_container .question-container .icon-group {
  display: flex;
  justify-content: flex-end;
  column-gap: 10px;
}
.chat_container .question-container .icon-group .icon {
  cursor: pointer;
  color: var(--gray800);
  font-size: 20px;
  transition: color 0.2s ease;
}
.chat_container .question-container .icon-group .icon:hover {
  color: var(--gray600);
}
.chat_container .question-container .loading-text {
  display: flex;
}

.toast-clamp-1 [role=status] {
  justify-content: start;
}

.toast-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
}

.toast-clamp-2 [role=status] {
  display: block;
  text-align: left;
}

.toast-success {
  background: var(--bg-alert-success);
  border: 1px solid var(--border-alert-success);
}

.toast-error {
  background: var(--bg-alert-error);
  border: 1px solid var(--border-alert-error);
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.skeleton {
  position: relative;
  overflow: hidden;
  background-color: var(--skeleton-bg);
  border-radius: var(--skeleton-radius-sm);
  isolation: isolate;
}

/* ===== Shimmer Animation ===== */
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--skeleton-shimmer), transparent);
  animation: skeleton-shimmer 1.4s infinite;
}

@keyframes skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}
/* ===== Pulse fallback ===== */
@media (prefers-reduced-motion: reduce) {
  .skeleton::after {
    animation: none;
  }
}
/* ===== Types ===== */
.skeleton-title {
  height: 24px;
  width: 160px;
  margin-bottom: 16px;
  border-radius: var(--skeleton-radius-md);
}

.skeleton-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

.skeleton-text {
  height: 14px;
  width: 100%;
  max-width: 140px;
  margin: 6px 0;
}

.skeleton-status {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

/* ===== Card Skeleton ===== */
.skeleton-card {
  border: 1px solid #e2e8f0;
  border-radius: var(--skeleton-radius-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
}

/* ===== Layout helpers ===== */
.skeleton-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.skeleton-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ===== Grid helper ===== */
.skeleton-grid {
  display: grid;
  gap: 20px;
}

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

/* ===== Payment specific ===== */
.payment-skeleton {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.payment-skeleton-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.payment-skeleton-card {
  border-radius: 14px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
}

/* ===== Utility widths ===== */
.w-25 {
  width: 25%;
}

.w-40 {
  width: 40%;
}

.w-50 {
  width: 50%;
}

.w-60 {
  width: 60%;
}

.w-75 {
  width: 75%;
}

.w-100 {
  width: 100%;
}

/* ===== Heights ===== */
.h-10 {
  height: 10px;
}

.h-14 {
  height: 14px;
}

.h-18 {
  height: 18px;
}

.h-24 {
  height: 24px;
}

.h-32 {
  height: 32px;
}

.btn_spinner {
  width: 24px;
  height: 24px;
  border: 4px solid #ddd;
  border-top: 4px solid var(--primary-red-dark);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

input[type=password]::-ms-reveal,
input[type=password]::-ms-clear {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
input.form_control::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

input.p-password-input::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

input.form_control::-webkit-input-placeholder,
input.p-password-input::-webkit-input-placeholder {
  color: var(--accent-gray-medium) !important;
}

input.form_control::-moz-placeholder,
input.p-password-input::-moz-placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

.form_group {
  margin-bottom: 24px;
  width: 100%;
  text-align: left;
  /* ---------- BASE CONTROL ---------- */
  /* ---------- PASSWORD ---------- */
  /* ---------- SELECT ---------- */
  /* Placeholder simulation for select */
  /* ---------- TEXTAREA ---------- */
  /* ---------- ERROR ---------- */
}
.form_group .input_label {
  font-size: 14px;
  margin-bottom: 10px;
  color: var(--accent-gray-darkest);
}
.form_group .form_control {
  width: 100%;
  height: 38px;
  padding: 10px 15px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: 14px;
  font-family: "Ubuntu", sans-serif;
  background-color: #f7f7f7;
  color: var(--accent-gray-darkest);
  transition: all 0.25s ease;
  box-sizing: border-box;
}
.form_group .form_control:focus {
  outline: none;
  border-color: var(--border-btn-default);
  background-color: var(--light);
  box-shadow: 0 0 0 1px var(--border-btn-default);
}
.form_group .form_control.invalid {
  border-color: var(--secondary-red500);
  box-shadow: 0 0 0 2px rgba(213, 31, 48, 0.12);
}
.form_group .form_control::placeholder {
  color: var(--accent-gray-medium);
  opacity: 1;
}
.form_group .p-password {
  width: 100%;
}
.form_group .p-password .p-password-input {
  width: 100%;
  height: 36px;
  padding: 10px 15px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: 14px;
  background-color: #f7f7f7;
  color: var(--accent-gray-darkest);
  transition: all 0.25s ease;
}
.form_group .p-password .p-password-input:focus {
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 1px var(--border-btn-default);
}
.form_group .p-password .p-password-input::placeholder {
  color: var(--accent-gray-medium);
  opacity: 1;
}
.form_group .p-password.p-invalid .p-password-input {
  border-color: var(--secondary-red500);
  box-shadow: 0 0 0 2px rgba(213, 31, 48, 0.12);
}
.form_group select.form_control {
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
  background-image: url("data:image/svg+xml;charset=UTF-8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'><path fill='%23666' d='M10.293 3.293L6 7.586 1.707 3.293A1 1 0 00.293 4.707l5 5a1 1 0 001.414 0l5-5a1 1 0 10-1.414-1.414z'/></svg>");
  background-repeat: no-repeat;
  background-position: right 16px center;
  background-size: 12px;
  padding-right: 48px;
  cursor: pointer;
}
.form_group select.form_control option {
  color: var(--accent-gray-darkest);
  background: #fff;
}
.form_group select.form_control.is-placeholder {
  color: var(--accent-gray-medium);
}
.form_group textarea.form_control {
  min-height: 100px;
  resize: vertical;
}
.form_group .error_section {
  margin-top: 6px;
}
.form_group .error_section .error_text {
  font-size: 12px;
  color: var(--secondary-red500);
  margin: 0;
}

/* ---------- CROSS BROWSER PLACEHOLDER ---------- */
input.form_control::-webkit-input-placeholder,
.p-password-input::-webkit-input-placeholder {
  color: var(--accent-gray-medium);
}

input.form_control::-moz-placeholder,
.p-password-input::-moz-placeholder {
  color: var(--accent-gray-medium);
  opacity: 1;
}

input.form_control:-ms-input-placeholder,
.p-password-input:-ms-input-placeholder {
  color: var(--accent-gray-medium);
}/* Base Button Styles */
.custom_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0.375rem;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
  box-sizing: border-box;
  gap: 0.5rem;
}

/* Button Text and Icon Elements */
.custom_button__text {
  display: inline-block;
}

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

.custom_button__icon--left {
  margin-right: 0.25rem;
}

.custom_button__icon--right {
  margin-left: 0.25rem;
}

.custom_button__spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* Size Variations */
.custom_button--small {
  padding: 0.5rem 1rem;
  font-size: var(--font-size-small);
  min-height: 36px;
}

.custom_button--medium {
  padding: 0.75rem 1.5rem;
  font-size: var(--font-size-normal);
}

.custom_button--large {
  padding: 1rem 2rem;
  font-size: var(--font-size-large);
  min-height: 3.5rem;
}

/* Width Variations */
.custom_button--full-width {
  width: 100%;
}

/* Primary Variant */
.custom_button--primary {
  background-color: var(--primary-color, #d31f1f);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--primary:hover:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--primary:active:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  transform: translateY(1px);
}

/* Secondary Variant */
.custom_button--secondary {
  background-color: var(--light, #ffffff);
  color: var(--dark, #000000);
  border: 1px solid var(--gray300, #e1e1e1);
}

.custom_button--secondary:hover:not(:disabled) {
  background-color: #f5f5f5;
  border-color: var(--gray500, #b3b3b3);
}

.custom_button--secondary:active:not(:disabled) {
  background-color: #e5e5e5;
  transform: translateY(1px);
}

/* tertiary Variant */
.custom_button--tertiary {
  background-color: var(--secondary-black-light, #222831);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--tertiary:hover:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--tertiary:active:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  transform: translateY(1px);
}

/* Outline Variant */
.custom_button--outline {
  background-color: transparent;
  color: var(--primary-color, #d31f1f);
  border: 1.5px solid var(--primary-color, #d31f1f);
}

.custom_button--outline:hover:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
}

.custom_button--outline:active:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
  transform: translateY(1px);
}

/* Ghost Variant */
.custom_button--ghost {
  background-color: transparent;
  color: var(--primary);
  border: none;
}

.custom_button--ghost:hover:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.1);
}

.custom_button--ghost:active:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.2);
}

/* Danger Variant */
.custom_button--danger {
  background-color: var(--secondary-red);
  color: var(--light);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--danger:hover:not(:disabled) {
  background-color: #dc2626;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--danger:active:not(:disabled) {
  background-color: var(--secondary-red700);
  transform: translateY(1px);
}

/* Disabled State */
.custom_button--disabled,
.custom_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Loading State */
.custom_button--loading {
  cursor: not-allowed;
  pointer-events: none;
}

.custom_button--loading .custom_button__text {
  opacity: 0.7;
}

/* Focus States */
.custom_button:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--primary-hover200);
}

.custom_button--secondary:focus {
  box-shadow: 0 0 0 3px rgba(var(--gray600), 0.3);
}

.custom_button--danger:focus {
  box-shadow: 0 0 0 3px var(--secondary-red-hover200);
}

/* Spinner Animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Responsive Design */
@media (max-width: 768px) {
  .custom_button--large {
    padding: 14px 28px;
    font-size: 16px;
    min-height: 52px;
  }
  .custom_button--medium {
    padding: 10px 20px;
    font-size: 15px;
  }
  .custom_button--small {
    padding: 6px 12px;
    font-size: 13px;
    min-height: 32px;
  }
}
/* Global CSS Override for Dropdown Options */
select option:checked,
select option:focus,
select option:hover,
select option:active {
  background-color: #d31f1f !important;
  color: white !important;
}

select option {
  background-color: white !important;
  color: #171717 !important;
}

/* CSS Variables */
:root {
  /* === Main Color Scheme === */
  /* Primary Color (Red) */
  --primary-color: #d31f1f;
  /* Secondary Color (Black) */
  --secondary-color: #171717;
  /* Background Color (White) */
  --background-color: #ffffff;
  /* Accent 1 (Dark Gray) */
  --accent-1: #444444;
  /* Accent 2 (Light Gray) */
  --accent-2: #f0f0f0;
  /* === Color Variations === */
  /* Primary Red Color Variations (Primary/Highlights, Buttons, Alerts) */
  --primary-red-dark: #b22222;
  --primary-red-main: #d31f1f;
  --primary-red-light: #ff6b6b;
  --primary-red-lighter: #ff3a22;
  /* Secondary Black Color Variations (Text, Charts, Navigation) */
  --secondary-black-darkest: #171717;
  --secondary-black-dark: #232323;
  --secondary-black-medium: #1c1c1e;
  --secondary-black-light: #222831;
  /* Background White Color Variations (Background, Cards, Modals) */
  --background-white-pure: #f7f7f7;
  --background-white-light: #f4f4f9;
  --background-white-medium: #fcfcfc;
  --background-white-main: #ffffff;
  /* Accent 1 Dark Gray Color Variations (Text, Muted icons, Chart Lines) */
  --accent-gray-darkest: #3a4347;
  --accent-gray-medium: #6d8196;
  --accent-gray-light: #6a89a7;
  --accent-gray-lightest: #95abc1;
  /* Accent 2 Light Gray Color Variations (Surfaces, Containers) */
  --accent-light-gray-dark: #cbcaca;
  --accent-light-gray-medium: #dadada;
  --accent-light-gray-light: #eaeaea;
  --accent-light-gray-lightest: #f0f0f0;
  /* Success Green Color (BI status/success indicators) */
  --success-green-dark: #198038;
  --success-green-medium: #24b47e;
  --success-green-light: #24b47e;
  --success-green-lightest: #b9fbc0;
  /* Warning Yellow Color (BI warning indicators) */
  --warning-yellow-dark: #fcc419;
  --warning-yellow-medium: #f1c21b;
  --warning-yellow-light: #ffd166;
  --warning-yellow-lightest: #fff2cc;
  /* Info Blue Color (NLP User Input, info states) */
  --info-blue-dark: #335c81;
  --info-blue-medium: #118ab2;
  --info-blue-light: #a3cff1;
  --info-blue-lightest: #b8dbd9;
  /* === Background Colors === */
  /* Layout & Container Backgrounds */
  --bg-base: #f2f2f2;
  --bg-sidebar: #f2f2f2;
  --bg-nav-container: #f0f0f0;
  --bg-container: #ffffff;
  /* Element Backgrounds */
  --bg-count-icon-active: #6a89a7;
  --bg-count-icon-default: #eaeaea;
  /* Progress & Status Backgrounds */
  --bg-progress-base: #eaeaea;
  --bg-progress-bar: #335c81;
  /* Button Backgrounds */
  --bg-btn-inactive: #eaeaea;
  --bg-btn-default: #222831;
  --bg-btn-hover: #d31f1f;
  /* Modal & Overlay Backgrounds */
  --bg-modal-overlay: rgba(68, 68, 68, 0.85);
  /* #444444 with 85% opacity */
  --bg-modal-container: #ffffff;
  /* Alert Backgrounds */
  --bg-alert-success: #e9ffeb;
  --bg-alert-warning: #fff8e6;
  --bg-alert-error: #ffe8e8;
  --bg-alert-info: #e9ffeb;
  /* Divider & Separator Backgrounds */
  --bg-divider: #cecece;
  /* === Border Colors === */
  /* Layout & Container Borders */
  --border-base: #e2e2e2;
  --border-container: #e2e2e2;
  --border-nav: #f0f0f0;
  --border-section: #e2e2e2;
  --border-divider: #e2e2e2;
  /* Button Borders */
  --border-btn-inactive: #eaeaea;
  --border-btn-default: #222831;
  --border-btn-hover: #222831;
  /* Modal & Overlay Borders */
  --border-modal: #ffffff;
  /* Alert Borders */
  --border-alert-success: #24b47e;
  --border-alert-warning: #ffd166;
  --border-alert-error: #d31f1f;
  --border-alert-info: #24b47e;
  /* Additional Border Colors */
  --border-color: #e1e1e1;
  --border-hover: #b3b3b3;
  /* === Typography === */
  /* Base Font Sizes */
  --font-size-xlarge: clamp(28px, 8vw, 36px);
  --font-size-xlarge-2: clamp(24px, 6vw, 32px);
  --font-size-large: clamp(20px, 4vw, 24px);
  --font-size-normal: 16px;
  --font-size-small: 14px;
  /* Login input labels, placeholders, links, CTA buttons, navigation labels */
  --font-size-xsmall: 12px;
  /* Error messages, navigation headers, file selection text */
  /* Heading Font Sizes */
  --h1-font-size: clamp(24px, 5vw, 28px);
  --h2-font-size: clamp(20px, 4vw, 24px);
  --h3-font-size: clamp(18px, 3vw, 20px);
  /* Container headers, Sub-titles */
  --h4-font-size: clamp(16px, 3.5vw, 18px);
  /* Pop-up headers */
  --h5-font-size: 16px;
  /* Count icons */
  --h6-font-size: 12px;
  /* Font Weights */
  --font-weight700: 700;
  --font-weight500: 500;
  --font-weight400: 400;
  --font-weight300: 300;
  /* Text Colors */
  --text-secondary: #6e6e6e;
  --txt-title-gray: #c3c2c2;
  /* === Spacing === */
  /* Padding */
  --padding-input-default: 20px 30px;
  --padding-container-large: 40px;
  --padding-container-medium: 30px 20px;
  --padding-container-default: 20px;
  --padding-container-small: 10px 20px 15px 20px;
  --padding-element-narrow: 4px 6px;
  --padding-element-standard: 8px 15px;
  --padding-element-medium: 10px 15px;
  --padding-element-wide: 12px 20px;
  --padding-alert: 10px 15px;
  --padding-modal: 20px;
  /* Margins */
  --margin-error: 4px 0 0 0;
  --margin-container: 20px;
  --margin-content: 10px 0;
  --margin-icon-text: 0 10px;
  --margin-tab-default: 20px 40px 10px 0;
  --margin-tab-active: 20px 40px 10px 0;
  --margin-tab-hover: 20px 40px 10px 0;
  --margin-divider: 10px 20px 20px 20px;
  /* Gap Sizes */
  --gap-icon-text: 10px;
  --gap-icon-container: 20px;
  /* === Layout === */
  /* Grid Sizes */
  --grid-size-small: 576px;
  --grid-size-medium: 768px;
  --grid-size-large: 992px;
  --grid-size-xlarge: 1140px;
  /* === UI Elements === */
  /* Dropdown */
  --dropdown-options: #292929cc;
  --dropdown-options-focused: #292929;
  --dropdown-bg: #bfe7ff;
  /* Common Colors */
  --msgColor: #ffffff;
  --body-bg: #f8f8f8;
  --light: #ffffff;
  --dark: #000000;
  --primary-dark: #1565c0;
  /* === Legacy Color Variables (keeping for backward compatibility) === */
  --gray50: #bacad6;
  --gray75: #fafafa;
  --gray100: #f5f5f5;
  --gray200: #eaeaea;
  --gray300: #e1e1e1;
  --gray400: #cacaca;
  --gray500: #b3b3b3;
  --gray650: #6a89a7;
  --gray600: #8e8e8e;
  --gray700: #335c81;
  --gray800: #4b4b4b;
  --gray900: #2c2c2c;
  --primary400: #4cc3fd;
  --primary500: #11a1fd;
  --primary600: #0c7dd9;
  --primary700: #085db6;
  --primary-hover200: rgba(17, 161, 253, 0.2);
  --secondary-red400: #ff6b6b;
  --secondary-red500: #d51f30;
  --secondary-red600: #b51c2a;
  --secondary-red700: #85010d;
  --secondary-red-hover200: #e96e7a;
  --secondary-purple400: #8298fb;
  --secondary-purple500: #5a75f9;
  --secondary-purple600: #4259d4;
  --secondary-purple700: #3247b5;
  --secondary-green400: #3cd795;
  --secondary-green500: #07c180;
  --secondary-green600: #06a57d;
  --secondary-green700: #038673;
  --secondary-yellow400: #ffb866;
  --secondary-yellow500: #ff9931;
  --secondary-yellow600: #db7823;
  --secondary-yellow700: #b45917;
  --secondary-yellow-hover200: #ffb866;
  --secondary-gray400: #cedfe8;
  --secondary-gray500: #a7c1d2;
  --secondary-gray600: #7d9eb5;
  --secondary-gray700: #486f88;
  --secondary-navy-blue: #213345;
  --skeleton-bg: #e5e7eb;
  --skeleton-shimmer: #f3f4f6;
  --skeleton-radius-sm: 4px;
  --skeleton-radius-md: 8px;
  --skeleton-radius-lg: 16px;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Ubuntu", sans-serif;
  background-color: var(--body-bg);
  color: var(--gray900);
  line-height: 1.6;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

/* Utility Classes */
.flex {
  display: flex;
}

.column {
  flex-direction: column;
}

.justify_center {
  justify-content: center;
}

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

.align_center {
  align-items: center;
}

.p_10 {
  padding: 10px;
}

.grid {
  display: grid;
}

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

.grid_center {
  place-items: center;
}

.col_span_2 {
  grid-column: span 2;
}

.col_start_2 {
  grid-column-start: 2;
}

.section_card {
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.max_width {
  max-width: 400px;
  width: 100%;
}

.h_auto {
  height: auto;
}

/* Login Center Wrapper */
.login_center_wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-image: url("/assets/Login-op3-D1d2AstO.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.p-password-panel {
  padding: 20px;
  font-family: "ubuntu", sans-serif;
}

.p-icon-field {
  width: 100%;
  display: flex;
  align-items: center;
}

.p-input-icon {
  top: 25%;
}

/* Form Styles */
.form_wrapper_parent {
  width: 50%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--background-color);
}

.form_wrapper {
  max-width: 61.5%;
}

.formside_parent {
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  width: 50%;
  background-color: var(--bg-base);
  padding: 40px;
}
.formside_parent .formside_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
  width: 100%;
  height: 80%;
}
.formside_parent .formside_content h1 {
  font-size: 24px;
}

.form_header {
  margin-bottom: 20px;
}

.form_header_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.form_description {
  color: var(--accent-gray-darkest);
  font-size: var(--font-size-small);
  text-align: left;
  line-height: 20px;
  margin-bottom: 24px;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0px;
}

.logo {
  height: 48px;
  width: auto;
}

.form {
  width: 100%;
}

.form_links_bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  padding: 0;
  text-align: center;
  gap: 10px;
}
.form_links_bottom .form_link {
  color: #118ab2;
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.form_links_bottom .form_link:hover {
  color: #118ab2;
}

.form_control:focus-visible {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
  outline: none;
}

.form_control.invalid {
  border-color: var(--secondary-red500);
  background: rgba(213, 31, 48, 0.1);
  color: var(--secondary-red500);
}

.form_input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: var(--font-size-normal);
  transition: border-color 0.3s ease;
  background: var(--light);
}

.form_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 2px var(--primary-hover200);
}

.form_input.error_input {
  border-color: var(--secondary-red500);
}

.form_group_btn_wrapper {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.show_password_btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.form_actions {
  margin-top: 10px;
}
.form_actions .btn_wrapper {
  width: 100%;
}
.form_actions button {
  width: 100%;
  padding: 12px 0;
  font-size: 14px;
  border-radius: 5px;
  background: var(--secondary-black-light);
  color: #fff;
  border: none;
  transition: background 0.2s;
  font-weight: var(--font-weight500);
}
.form_actions button:hover:not(:disabled) {
  background-color: var(--primary-red-dark);
}
.form_actions button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}

.success-message-modal-wrapper {
  border: 1px solid var(--accent-light-gray-light);
  padding: 40px 20px;
  box-shadow: 0px 0px 10px 0px rgba(203, 202, 202, 0.5019607843);
  border-radius: 8px;
}

.success-message-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
}

.modal-message {
  display: flex;
  flex-direction: column;
}

.show_password_btn:hover {
  background-color: var(--gray200);
}

.show_password_btn .icon {
  width: 20px;
  height: 20px;
  fill: var(--gray600);
}

.error_section {
  margin-top: 4px;
}

.error_text {
  color: var(--secondary-red500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: start;
}

.success_text {
  color: var(--secondary-green500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}

.success_icon {
  color: var(--secondary-green500);
  font-size: 16px;
  font-weight: bold;
}

.error_icon {
  color: var(--secondary-red500);
  font-size: 16px;
  font-weight: bold;
}

/* 2FA OTP Input Styles */
.otp_input_container {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 20px 0;
}

.otp_input {
  width: 38px;
  height: 38px;
  border: 1px solid var(--accent-light-gray-medium);
  border-radius: 6px;
  text-align: center;
  font-size: 18px;
  font-weight: var(--font-weight500);
  background: var(--background-white-pure);
  transition: all 0.3s ease;
}
.otp_input::placeholder {
  color: #9ca3af;
}
.otp_input:focus::placeholder {
  color: transparent;
}

.otp_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 1px var(--border-btn-default);
}

.otp_input.filled {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
}

.otp_input.error {
  border-color: var(--secondary-red500);
  background-color: rgba(220, 53, 69, 0.1);
}

.resend_link {
  background: none;
  border: none;
  color: #48a9ee;
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: color 0.3s ease;
}
.resend_link:hover {
  text-decoration: underline;
}

.resend_link:hover:not(:disabled) {
  color: var(--primary600);
}

.resend_link:disabled {
  color: var(--gray500);
  cursor: not-allowed;
}

.help_text {
  color: var(--primary500);
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

.help_text:hover {
  color: var(--primary600);
}

/* Button Styles */
.btn_wrapper {
  width: 100%;
}

.btn_group_wrapper {
  margin-top: 20px;
}

.theme_button {
  width: 100%;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.theme_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.primary_btn {
  width: 100%;
  padding: 12px 0;
  font-size: 16px;
  border-radius: 5px;
  background: var(--primary500);
  color: #fff;
  border: none;
  transition: background 0.2s;
  margin-top: 1rem;
}

.primary_btn:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
}

.primary_btn:hover:not(:disabled) {
  background-color: var(--primary600);
}

.secondary_btn {
  background-color: var(--gray200);
  color: var(--gray800);
}

.secondary_btn:hover:not(:disabled) {
  background-color: var(--gray300);
}

/* Dashboard Styles */
.dashboard-page {
  height: 100%;
  background-color: var(--body-bg);
}

.dashboard-header {
  background: var(--light);
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dashboard-header h1 {
  color: var(--primary500);
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
}

.logout-btn {
  background-color: var(--secondary-red500);
  color: var(--light);
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: var(--font-size-small);
  transition: background-color 0.3s ease;
}

.logout-btn:hover {
  background-color: var(--secondary-red600);
}

.dashboard_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: flex-start;
  padding-top: 40px;
  align-items: center;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

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

/* Dashboard Wrapper */
.dashboard_wrapper {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  padding-bottom: 0;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  align-items: center;
  overflow: hidden;
  overflow-y: auto;
}

/* Ensure the main content area has proper spacing only when input is fixed */
.dashboard_wrapper.has-fixed-input .dashboard_content {
  transition: padding-bottom 0.3s ease;
}

/* Ensure the main content area has proper spacing */
.dashboard_wrapper .dashboard_content {
  flex: 1;
  width: 100%;
  max-width: 1400px;
  transition: padding-bottom 0.3s ease;
}

/* Ensure the page content area works well with fixed input */
.page_content {
  overflow-y: auto;
  background: #f9fafb;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Dashboard split container for side-by-side layout */
.dashboard_split_container {
  display: flex;
  height: 100%;
  max-height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Dashboard wrapper takes 65-70% when source panel is open */
.dashboard_wrapper {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: flex 0.35s cubic-bezier(0.4, 0, 0.2, 1), margin 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: flex, margin, width;
}

/* When source panel is open, wrapper shrinks to make room */
.dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
  flex: 1 1 auto;
}

/* Dashboard content with independent scrolling */
.dashboard_content {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  /* Smooth scrolling */
  scroll-behavior: smooth;
  /* Custom scrollbar */
}
.dashboard_content::-webkit-scrollbar {
  width: 6px;
}
.dashboard_content::-webkit-scrollbar-track {
  background: transparent;
}
.dashboard_content::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}
.dashboard_content::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.forgot-password-button {
  border: 1px solid var(--bg-btn-default);
  margin-top: 10px;
}

/* Responsive adjustments for split-screen */
@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
  .dashboard_content {
    min-width: 0;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 768px) {
  .dashboard_split_container {
    position: relative;
  }
  .dashboard_content {
    min-width: 100%;
  }
  .dashboard_wrapper {
    width: 100%;
  }
  /* On mobile, source panel is overlay, wrapper stays full width */
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
  }
}
/* Only add bottom padding when there's a fixed input */
/* Sidebar hidden state - completely hide the sidebar */
.main_content.sidebar-hidden .modern_sidebar {
  display: none !important;
}

.main_content.sidebar-hidden .dashboard_split_container .dashboard_wrapper {
  margin-left: 0 !important;
}

/* Chat container width adjustment when source panel is open */
.dashboard_split_container:has(.source-panel.open) .chat_container {
  width: 90%;
}

/* Fixed Input - ensure it stays within chat area when source panel opens */
.dashboard_split_container .fixed_input {
  z-index: 100;
  /* Ensure it's above chat content but below source panel */
}

/* Collapsed sidebar adjustments for fixed_input */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
  max-width: calc(70vw - 65px - 80px);
}

@media (min-width: 1400px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(72vw - 65px - 80px);
  }
}
@media (max-width: 1200px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(65vw - 65px - 60px);
  }
}
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_input {
    /* On mobile, source panel is overlay, input stays full width */
    max-width: calc(100vw - 32px);
  }
}
/* Fixed Chat Input Wrapper */
.fixed_chat_input_wrapper {
  position: fixed;
  bottom: 0;
  left: 280px;
  /* Account for sidebar width */
  right: 0;
  z-index: 1000;
  background: #f8f8f8;
  border-top: 1px solid #e5e7eb;
  padding: 16px 32px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
  overflow: hidden;
}

/* Adjust for source panel open - use percentage matching panel width */
.dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  right: 30%;
}

@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 28%;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 35%;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 40%;
  }
}
/* Adjust for collapsed sidebar */
.main_content.sidebar-collapsed .fixed_chat_input_wrapper {
  left: 65px;
}

/* Adjust for collapsed sidebar + source panel open */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  left: 65px;
}

.conversation_tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversation_tile.active {
  background: #fff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .fixed_chat_input_wrapper {
    left: 0 !important;
    right: 0 !important;
    padding: 16px;
  }
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 0 !important;
  }
  .dashboard_content {
    padding: 20px;
    /*padding-bottom: 120px;*/
  }
  .center_input_section,
  .fixed_input_section {
    max-width: 100%;
    padding: 0 16px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .fixed_chat_input_wrapper {
    padding: 12px;
  }
  .dashboard_content {
    padding: 20px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 48px;
    height: 48px;
    padding: 10px;
  }
  .fixed_input_section {
    padding: 0 8px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
/* Ensure tooltips are always on top */
.tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--secondary-black-darkest);
  color: var(--background-white-main);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  z-index: 99999 !important;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  animation: tooltipFadeIn 0.2s ease-out;
}
.tooltip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--secondary-black-darkest);
}

@keyframes tooltipFadeIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* Ensure separator lines and borders are below tooltips */
/* Ensure answer containers don't clip tooltips */
.answer_container {
  overflow: visible !important;
  background-color: var(--accent-2);
  padding: 30px;
  border-radius: 10px;
  border: 1px solid var(--border-base);
}

/* Ensure chat containers don't clip tooltips */
.chat_container {
  overflow: visible !important;
}

/* Dashboard Header Section */
.dashboard_header_section {
  text-align: center;
  margin-bottom: 40px;
  /* Increased margin for better spacing */
  padding: 0 20px;
  width: 100%;
}

.dashboard_main_title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 10px;
  font-size: 36px;
  color: var(--secondary-color);
  line-height: 1.3;
}

.dashboard_subtitle {
  font-size: 16px;
  margin: 0;
  line-height: 1.5;
}

/* Dashboard Input Section */
.dashboard_input_section {
  margin-bottom: 48px;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Center Input Section - for first visit */
.center_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
}

.center_input_section .input_container {
  max-width: 1200px;
  height: 186px;
  /* Match the suggestions grid max-width */
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.center_input_section .input_container:focus-within {
  border-color: #d31f1f;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}

.input_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 18px;
  padding: 20px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  /* Gradient border using background-clip trick */
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* border gradient */
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.input_container:focus-within {
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* focus gradient */
}

/* Top section containing icons and input */
.input_top_section {
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #ffffff;
}

/* Left side icons container */
.input_left_icons {
  display: flex;
  background-color: #eaeaea;
  justify-content: space-between;
  align-items: center;
  border-right: 1px solid #f0f0f0;
  border-radius: 32px;
  padding: 0 10px;
  width: 88px;
  height: 28px;
}

/* Individual left icons */
.input_icon {
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  color: #6d8196;
  transform: scale(1.1);
}
.input_icon:hover {
  background: #f3f4f6;
  color: #374151;
  transform: scale(1.05);
}
.input_icon:active {
  transform: scale(0.95);
}

/* Bottom section containing buttons */
.input_bottom_section {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: flex-end;
}

/* Right side buttons container */
.input_right_buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  color: #6b7280;
}
.input_mic_btn:hover {
  background: #e5e7eb;
  color: #374151;
}

.input_submit_btn {
  background: var(--secondary-black-light);
  color: white;
  border: none;
  cursor: pointer;
  padding: 8px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.dashboard_input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 16px;
  color: #1f2937;
  background: transparent;
  border-radius: 0;
}
.dashboard_input::placeholder {
  color: #9ca3af;
  font-size: 16px;
}

/* Suggestions Section */
.suggestions_section {
  margin-bottom: 48px;
}

/* Suggestion Cards Styling */
.suggestions_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.suggestions_grid > .suggestion_card {
  flex: 1 1 300px;
  max-width: 1fr;
}

.suggestion_card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-width: 300px;
  max-width: 300px;
}
.suggestion_card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

/* Card Header */
.card_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.card_heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.card_icon {
  font-size: 24px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

/* Icon Colors */
.card_icon.growth {
  color: #10b981;
  /* Green for growth */
}

.card_icon.forecasting {
  color: #3b82f6;
  /* Blue for forecasting */
}

.card_icon.correlation {
  color: #f59e0b;
  /* Orange for correlation */
}

.card_title {
  font-size: 10px;
  font-weight: 400;
  color: var(--secondary-color);
}

/* Card Subtitle */
.card_subtitle {
  font-size: 16px;
  color: var(--secondary-color);
  font-weight: 500;
}

/* Card Content */
.card_description {
  display: block;
  color: #374151;
  line-height: 1.6;
}

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

.card_description.expanded {
  display: block;
}

.credits_wrapper {
  width: 98%;
  padding: 0px;
  position: sticky;
  top: 0;
  z-index: 100;
}

.card_link {
  color: #3b82f6;
  cursor: pointer;
  text-decoration: underline;
  font-weight: 500;
  font-size: 14px;
}
.card_link:hover {
  color: #2563eb;
}

/* Feedback Icons */
.card_feedback {
  display: flex;
  gap: 8px;
  align-items: center;
}

.feedback_icon {
  color: #9ca3af;
  font-size: 26px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.feedback_icon:hover {
  color: #6b7280;
  background-color: #f3f4f6;
}

/* Quick Actions Section */
.quick_actions_section {
  margin-bottom: 48px;
}

/* Responsive Dashboard Styles */
@media (max-width: 768px) {
  .dashboard_content {
    padding: 20px;
  }
  .dashboard_header_section {
    padding: 0 10px;
  }
  .dashboard_input_section {
    margin-bottom: 32px;
    padding: 0 10px;
  }
  .dashboard_input {
    font-size: 14px;
    padding: 10px 12px;
  }
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .quick_actions_grid {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
@media (max-width: 480px) {
  .dashboard_main_title {
    font-size: 20px;
  }
  .input_plus_btn,
  .input_mic_btn,
  .input_submit_btn {
    font-size: 14px;
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .card_title {
    font-size: 16px;
  }
  .card_description {
    font-size: 13px;
  }
}
.dashboard-content h2 {
  color: var(--gray800);
  margin-bottom: 20px;
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight600);
}

.user-info {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.user-info h3 {
  color: var(--gray800);
  margin-bottom: 10px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}

.user-info h4 {
  color: var(--gray800);
  margin: 20px 0 10px 0;
  font-size: var(--h5-font-size);
  font-weight: var(--font-weight600);
}

.user-details {
  margin-bottom: 20px;
}

.user-details p {
  margin: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
}

.user-details strong {
  color: var(--gray800);
  font-weight: var(--font-weight600);
}

.user-info pre {
  background: var(--gray100);
  padding: 15px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: var(--font-size-small);
  color: var(--gray800);
}

.dashboard-features {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.dashboard-features h3 {
  color: var(--gray800);
  margin-bottom: 15px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}

.dashboard-features ul {
  list-style: none;
  padding: 0;
}

.dashboard-features li {
  padding: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
  border-bottom: 1px solid var(--gray200);
}

.dashboard-features li:last-child {
  border-bottom: none;
}

/* Responsive Design */
@media (max-width: 768px) {
  .grid_cols_4 {
    grid-template-columns: 1fr;
  }
  .col_span_2 {
    grid-column: span 1;
  }
  .col_start_2 {
    grid-column-start: 1;
  }
  .max_width {
    max-width: 100%;
    margin: 0 20px;
  }
  .dashboard-content {
    padding: 20px;
  }
}
/* Pagination Styles */
.pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}

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

.pagination .btn_wrapper button {
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  background: var(--light);
  color: var(--text-secondary);
  font-size: var(--font-size-xsmall);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 40px;
  height: 36px;
  font-weight: var(--font-weight500);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination .btn_wrapper button:hover:not(:disabled) {
  background: var(--gray75);
  border-color: var(--border-hover);
  color: var(--gray800);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pagination .btn_wrapper button.primary_btn {
  background: var(--primary500);
  color: var(--light);
  border-color: var(--primary500);
  box-shadow: 0 2px 4px rgba(17, 161, 253, 0.3);
}

.pagination .btn_wrapper button.primary_btn:hover {
  background: var(--primary600);
  border-color: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.4);
}

.pagination .btn_wrapper button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: var(--gray75);
  color: var(--gray500);
  transform: none;
  box-shadow: none;
}

/* Table Responsive Utilities */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
  .pagination {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.pagination .btn_wrapper button {
  min-width: 36px;
  height: 32px;
  padding: 6px 10px;
  font-size: 11px;
}

.user-chat-container::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Edge */
}

.user-chat-container {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}
.user-chat-container h3 {
  font-weight: 400;
  padding: 10px;
  background-color: var(--gray200);
  border-radius: 10px;
  display: inline-block;
  align-self: flex-end;
}
.user-chat-container p {
  padding: 10px;
  text-align: left;
}
.user-chat-container .error-text {
  padding: 0;
  margin-left: 30px;
}

.empty_text {
  color: var(--accent-gray-medium);
}

.quick_actions_container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 20px;
}

/* Error Boundary Styles */
.error-boundary {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  padding: 40px;
}

.error-content {
  text-align: center;
  max-width: 500px;
}

.error-content h3 {
  color: var(--gray800);
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
}

.error-content p {
  color: var(--gray600);
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.5;
}

.retry-button {
  background: var(--primary500);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.retry-button:hover {
  background: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.3);
}

/* No Data Message Styles */
.no-data-message {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  margin: 20px 0;
}

.no-data-message p {
  color: var(--gray600);
  margin: 0;
  font-style: italic;
}

/* Error Display Styles */
.error-display {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}

.error-display h3 {
  color: #dc2626;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
}

.error-display p {
  color: #7f1d1d;
  margin-bottom: 16px;
  font-size: 14px;
}

/* Fixed Input Section */
.fixed_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 146px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* Ensure input container is properly styled in fixed position */
.fixed_input_section .input_container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  width: 100%;
  max-width: 1200px;
  /* Increased from 800px to match dashboard content width */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.fixed_input_section .input_container:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}

/* Ensure the input field itself is properly styled */
.fixed_input_section .dashboard_input {
  background: transparent;
  border: none;
  outline: none;
  font-size: 16px;
  padding: 14px;
  color: #1f2937;
  flex: 1;
}
.fixed_input_section .dashboard_input::placeholder {
  color: #9ca3af;
}

/* Style the buttons in the fixed input */
.fixed_input_section .input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  color: #6b7280;
}
.fixed_input_section .input_mic_btn:hover {
  background: #f3f4f6;
}

.fixed_input_section .input_submit_btn {
  background: var(--primary500);
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 12px;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 54px;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  margin-left: 8px;
}
.fixed_input_section .input_submit_btn:hover {
  background: var(--primary600);
}

.settings-title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 24px 0;
  line-height: 1.3;
  text-align: start;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.reset-password-error {
  background: #f8d7da;
  color: var(--primary-red-dark);
  padding: 20px;
}

.send-reset-again {
  text-decoration: underline;
  cursor: pointer;
}

.react-joyride__spotlight {
  transform: scale(1.05);
  transition: transform 0.25s ease;
}

.page_content {
  overflow-y: auto !important;
  overflow-x: hidden;
}

.avatar-tooltip-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.avatar-tooltip-wrapper .tooltip {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.avatar-tooltip-wrapper:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

/* Responsive Design */
@media (max-width: 768px) {
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .card_title {
    font-size: 18px;
  }
  .card_subtitle {
    font-size: 14px;
  }
  .center_input_section {
    max-width: 100%;
  }
  .center_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .suggestion_card {
    padding: 16px;
  }
  .card_icon {
    font-size: 20px;
    width: 28px;
    height: 28px;
  }
  .card_title {
    font-size: 16px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 40px;
    height: 40px;
    padding: 10px;
  }
  .center_input_section .input_mic_btn,
  .fixed_input_section .input_mic_btn {
    min-width: 36px;
    height: 36px;
    padding: 8px;
  }
  .center_input_section .input_icon,
  .fixed_input_section .input_icon {
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .center_input_section .input_left_icons,
  .fixed_input_section .input_left_icons {
    gap: 12px;
    padding: 0 12px;
  }
  .center_input_section .input_right_buttons,
  .fixed_input_section .input_right_buttons {
    gap: 8px;
    padding: 0;
  }
  .center_input_section .input_bottom_section,
  .fixed_input_section .input_bottom_section {
    padding: 8px 12px;
  }
}
.chat_container {
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin: 0 auto;
  width: 70dvw;
  padding: 20px 0;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: width;
}
.chat_container .question-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 10px;
}
.chat_container .question-container button {
  background: none;
  border: none;
}
.chat_container .question-container .question {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-2);
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-base);
  color: var(--accent-gray-darkest);
  font-weight: 400;
  font-size: 14px;
  text-align: left;
}
.chat_container .question-container .icon-group {
  display: flex;
  justify-content: flex-end;
  column-gap: 10px;
}
.chat_container .question-container .icon-group .icon {
  cursor: pointer;
  color: var(--gray800);
  font-size: 20px;
  transition: color 0.2s ease;
}
.chat_container .question-container .icon-group .icon:hover {
  color: var(--gray600);
}
.chat_container .question-container .loading-text {
  display: flex;
}

.toast-clamp-1 [role=status] {
  justify-content: start;
}

.toast-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
}

.toast-clamp-2 [role=status] {
  display: block;
  text-align: left;
}

.toast-success {
  background: var(--bg-alert-success);
  border: 1px solid var(--border-alert-success);
}

.toast-error {
  background: var(--bg-alert-error);
  border: 1px solid var(--border-alert-error);
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.skeleton {
  position: relative;
  overflow: hidden;
  background-color: var(--skeleton-bg);
  border-radius: var(--skeleton-radius-sm);
  isolation: isolate;
}

/* ===== Shimmer Animation ===== */
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--skeleton-shimmer), transparent);
  animation: skeleton-shimmer 1.4s infinite;
}

@keyframes skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}
/* ===== Pulse fallback ===== */
@media (prefers-reduced-motion: reduce) {
  .skeleton::after {
    animation: none;
  }
}
/* ===== Types ===== */
.skeleton-title {
  height: 24px;
  width: 160px;
  margin-bottom: 16px;
  border-radius: var(--skeleton-radius-md);
}

.skeleton-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

.skeleton-text {
  height: 14px;
  width: 100%;
  max-width: 140px;
  margin: 6px 0;
}

.skeleton-status {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

/* ===== Card Skeleton ===== */
.skeleton-card {
  border: 1px solid #e2e8f0;
  border-radius: var(--skeleton-radius-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
}

/* ===== Layout helpers ===== */
.skeleton-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.skeleton-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ===== Grid helper ===== */
.skeleton-grid {
  display: grid;
  gap: 20px;
}

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

/* ===== Payment specific ===== */
.payment-skeleton {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.payment-skeleton-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.payment-skeleton-card {
  border-radius: 14px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
}

/* ===== Utility widths ===== */
.w-25 {
  width: 25%;
}

.w-40 {
  width: 40%;
}

.w-50 {
  width: 50%;
}

.w-60 {
  width: 60%;
}

.w-75 {
  width: 75%;
}

.w-100 {
  width: 100%;
}

/* ===== Heights ===== */
.h-10 {
  height: 10px;
}

.h-14 {
  height: 14px;
}

.h-18 {
  height: 18px;
}

.h-24 {
  height: 24px;
}

.h-32 {
  height: 32px;
}

.btn_spinner {
  width: 24px;
  height: 24px;
  border: 4px solid #ddd;
  border-top: 4px solid var(--primary-red-dark);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

input[type=password]::-ms-reveal,
input[type=password]::-ms-clear {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
input.form_control::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

input.p-password-input::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

input.form_control::-webkit-input-placeholder,
input.p-password-input::-webkit-input-placeholder {
  color: var(--accent-gray-medium) !important;
}

input.form_control::-moz-placeholder,
input.p-password-input::-moz-placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}.base_form {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  padding: 0;
  background: transparent;
  border-radius: 0;
  box-shadow: none;
  text-align: left;
  border: none;
}
.base_form .form_title {
  font-weight: 700;
  font-size: 32px;
  line-height: 100%;
  margin-bottom: 32px;
  color: var(--secondary-color);
}
.base_form .form_subtitle {
  font-weight: 500;
  font-size: 16px;
  color: #171717;
  margin: 20px 0;
  font-style: medium;
}
.base_form .form_header_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
.base_form .form_header_logo .logo {
  height: 48px;
  width: auto;
}
.base_form .form_links_parent {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
}
.base_form .form_links {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  align-items: center;
  padding: 0;
  font-size: 14px;
}
.base_form .form_links .form_link {
  color: #118ab2;
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.base_form .form_links .form_link:hover {
  color: #118ab2;
  text-decoration: underline;
}
.base_form .form_links .remember_me_label {
  display: flex;
  gap: 10px;
  align-items: center;
}
.base_form .form_links .remember_me_label #rememberMe {
  height: 15px;
  width: 15px;
}
.base_form .resent_otp {
  display: flex;
  align-items: center;
  gap: 10px;
}
.base_form .resent_otp span {
  text-wrap: nowrap;
}
.base_form .account_setting_form {
  display: flex;
  align-items: center;
  justify-content: end;
}
.base_form .account_setting_form button {
  font-size: 16px;
  border-radius: 5px;
  background: var(--secondary-black-light);
  color: #fff;
  border: none;
  transition: background 0.2s;
  font-weight: var(--font-weight500);
}
.base_form .account_setting_form button:hover:not(:disabled) {
  background-color: var(--primary-red-dark);
}
.base_form .account_setting_form button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}
.base_form .custom_button--disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
.base_form .form_row {
  display: flex;
  gap: 20px;
  width: 100%;
}
.base_form .form_row:last-child {
  margin-bottom: 0;
}
.base_form .form_row .form_column {
  flex: 1;
  min-width: 0;
}
.base_form .form_row .form_column:empty {
  display: none;
}
@media (max-width: 768px) {
  .base_form .form_row {
    flex-direction: column;
    gap: 0;
  }
  .base_form .form_row .form_column {
    margin-bottom: 20px;
  }
  .base_form .form_row .form_column:last-child {
    margin-bottom: 0;
  }
}.form_wrapper {
  width: 100%;
}
.form_wrapper .form_header .form_header_logo {
  margin-bottom: 20px;
  text-align: center;
}
.form_wrapper .form_header .form_header_logo .logo {
  height: 40px;
  display: block;
  margin: 0 auto;
}
.form_wrapper .dummy-credentials-info {
  background: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 6px;
  padding: 15px;
  margin-bottom: 20px;
  text-align: center;
}
.form_wrapper .dummy-credentials-info p {
  margin: 5px 0;
  font-size: 14px;
  color: var(--gray700);
}
.form_wrapper .dummy-credentials-info p strong {
  color: var(--gray800);
}
.form_wrapper .dummy-credentials-info p code {
  background: var(--light);
  padding: 2px 6px;
  border-radius: 3px;
  font-family: "Courier New", monospace;
  color: var(--primary500);
  font-weight: bold;
}
.form_wrapper .form .help_text {
  font-size: 14px;
  color: var(--primary500);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.form_wrapper .form .help_text:hover {
  color: var(--secondary-navy-blue);
}

.btn_wrapper {
  width: 100%;
}

.btn_group_wrapper {
  margin-top: 20px;
}

.theme_button {
  width: 100%;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.theme_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.primary_btn {
  background-color: var(--primary500);
  color: var(--light);
}

.primary_btn:hover:not(:disabled) {
  background-color: var(--primary600);
}

.error_text {
  color: var(--secondary-red500);
  font-size: var(--font-size-xsmall);
  font-weight: var(--font-weight400);
}

.flex {
  display: flex;
}

.column {
  flex-direction: column;
}

.justify_center {
  justify-content: center;
}

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

.align_center {
  align-items: center;
}

.p_10 {
  padding: 10px;
}.sso-login-parent {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  margin-top: 24px;
  gap: 20px;
}
.sso-login-parent .divider {
  width: 100%;
  display: flex;
  align-items: center;
  gap: 12px;
  color: #898888;
  font-size: 14px;
  font-weight: 400;
  text-align: center;
}
.sso-login-parent .divider::before,
.sso-login-parent .divider::after {
  content: "";
  flex: 1;
  height: 1px;
  background: var(--accent-light-gray-medium);
}
.sso-login-parent .sso-parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  width: 100%;
}
.sso-login-parent .sso-parent .sso {
  border: 1px solid #e1e1e1;
  padding: 14px 0;
  color: white;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 7px;
  background: transparent;
  width: 50%;
  column-gap: 10px;
}
.sso-login-parent .sso-parent .sso:hover {
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, #171717, #d31f1f);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.sso-login-parent .sso-parent .sso .sso_name {
  font-size: 14px;
  font-weight: 500;
  color: var(--bg-btn-default);
  text-transform: capitalize;
  font-family: "ubuntu", sans-serif;
}
.formside_slider_parent {
  width: 100%;
  display: flex;
}

.slider-container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 60px;
}

.slide {
  display: flex;
  flex-direction: column;
  align-items: center;
  transition: opacity 500ms ease, transform 500ms ease;
  opacity: 1;
  transform: translateX(0);
}

.slide-animating {
  animation: fade 500ms ease;
}

@keyframes fade {
  0% {
    opacity: 0;
    transform: translateX(8px);
  }
  50% {
    opacity: 0.5;
    transform: translateX(4px);
  }
  100% {
    opacity: 1;
    transform: translateX(0);
  }
}
.slide-text {
  padding: 0 3.125rem;
  text-align: center;
}

.slide-heading {
  font-weight: 700;
  font-size: 1.75rem;
  line-height: 1.1;
  padding-top: 2.5rem;
  padding-bottom: 30px;
  color: var(--secondary-color);
}

.slide-description {
  font-weight: 400;
  font-size: 1rem;
  line-height: 1.875rem;
  letter-spacing: 0.02em;
  color: var(--accent-gray-darkest);
}

.slide-footer {
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1.5rem;
  letter-spacing: 0.01em;
  margin-top: 0.9375rem;
  color: var(--accent-gray-darkest);
}

.slide-dots {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 1.25rem;
  padding: 10px 0;
  position: absolute;
  bottom: 8%;
  left: 0;
  right: 0;
  margin: 0 auto;
}

.dot {
  width: 1rem;
  height: 1rem;
  border-radius: 50%;
  background: var(--accent-light-gray-medium);
  transition: all 300ms ease;
  cursor: pointer;
}

.dot.active {
  background: var(--primary-color);
  transform: scale(1.2);
}

@media (min-width: 1440px) {
  .slide-heading {
    font-size: 2rem;
  }
  .slide-description {
    font-size: 1.0625rem;
  }
  .slide-footer {
    font-size: 0.9375rem;
  }
}
/* =========================
   Laptop / Desktop (≤1280px)
   ========================= */
@media (max-width: 1280px) {
  .slide-text {
    padding: 0 2.5rem;
  }
}
/* =========================
   Tablet (≤1024px)
   ========================= */
@media (max-width: 1024px) {
  .slide-text {
    padding: 0 2rem;
  }
  .slide-heading {
    font-size: 1.5rem;
    padding: 2rem 0;
  }
  .slide-description {
    font-size: 0.9375rem;
    line-height: 1.6rem;
  }
  .slide-footer {
    font-size: 0.8125rem;
  }
}
/* =========================
   Mobile Large (≤768px)
   ========================= */
@media (max-width: 768px) {
  .slide-text {
    padding: 0 1.5rem;
  }
  .slide-heading {
    font-size: 1.375rem;
    padding: 1.5rem 0;
  }
  .slide-description {
    font-size: 0.875rem;
    line-height: 1.5rem;
  }
  .slide-footer {
    font-size: 0.75rem;
  }
  .dot {
    width: 0.75rem;
    height: 0.75rem;
  }
}
@media (max-width: 480px) {
  .slide-text {
    padding: 0 1rem;
  }
  .slide-heading {
    font-size: 1.25rem;
  }
  .slide-description {
    font-size: 0.8125rem;
  }
  .slide-footer {
    font-size: 0.75rem;
  }
  .slide-dots {
    gap: 0.75rem;
  }
}.input_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 18px;
  padding: 20px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.fixed_input {
  margin: 0 auto;
  transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  position: relative;
  bottom: 30px;
  width: 70dvw;
}
.fixed_input .dashboard_input {
  font-size: 16px;
  color: #6b7280;
}

.dashboard_split_container:has(.source-panel.open) .fixed_input {
  width: 90%;
}

.input_top_section {
  padding-bottom: 20px;
}
.input_top_section .dashboard_input {
  width: 100%;
  border: none;
  outline: none;
  font-size: 15px;
  background: transparent;
  resize: none;
  overflow: hidden;
  max-height: 400px;
  line-height: 1.5;
  font-family: inherit;
  -ms-overflow-style: none;
  /* IE and Edge */
  scrollbar-width: none;
  /* Firefox */
}
.input_top_section .dashboard_input::-webkit-scrollbar {
  display: none;
}
.input_top_section .dashboard_input::placeholder {
  color: #9ca3af;
}

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

.input_left_icons {
  display: flex;
  gap: 8px;
  align-items: center;
}
.input_left_icons .icon_circle_wrapper {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #eaeaea;
  cursor: pointer;
  transition: background 0.2s ease;
}
.input_left_icons .icon_circle_wrapper:hover {
  background: #e5e7eb;
}
.input_left_icons .icon_circle_wrapper .input_icon {
  width: 16px;
  height: 16px;
  color: #6b7280;
}

.input_right_buttons {
  display: flex;
  align-items: center;
  gap: 12px;
}
.input_right_buttons .icon_circle_wrapper.mic_btn {
  width: 36px;
  height: 36px;
  background: #f3f4f6;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}
.input_right_buttons .icon_circle_wrapper.mic_btn .dictate {
  color: #6b7280;
}
.input_right_buttons .icon_circle_wrapper.mic_btn .dictate.listening {
  color: #d31f1f;
  animation: pulse 1.5s infinite;
}
.input_right_buttons .input_submit_btn {
  height: 32px;
  min-width: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  border: none;
  padding: auto;
  cursor: pointer;
  transition: all 0.2s ease;
  background: #1f2937;
}
.input_right_buttons .input_submit_btn:hover {
  background: var(--primary-color);
}
.input_right_buttons .input_submit_btn img {
  height: 20px;
  width: auto;
}

@keyframes pulse {
  0% {
    transform: scale(1);
  }
  50% {
    transform: scale(1.1);
  }
  100% {
    transform: scale(1);
  }
}
.center_input_section {
  width: 100%;
  max-width: 600px;
  position: relative;
  z-index: 10;
}
.center_input_section .input_container {
  min-height: 160px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-radius: 20px;
}
.center_input_section .dashboard_input {
  font-size: 16px;
  color: #6b7280;
  resize: none;
  overflow-y: hidden;
  max-height: 160px;
}

@media (max-width: 768px) {
  .fixed_input {
    width: 90%;
  }
  /* On mobile, source panel is full screen overlay, so input stays full width */
  .fixed_input_section {
    width: 90%;
  }
  .fixed_input_section .input_container {
    border-radius: 32px;
  }
  .center_input_section {
    padding: 0 16px;
    margin-bottom: 24px;
  }
  .center_input_section .input_container {
    border-radius: 32px;
  }
  .input_container {
    border-radius: 32px;
  }
}.upgrade-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 0;
}

.upgrade-modal-content {
  background: white;
  border-radius: 0;
  box-shadow: none;
  width: 100%;
  height: 100vh;
  max-width: none;
  max-height: none;
  overflow-y: auto;
  animation: modalSlideIn 0.3s ease-out;
  display: flex;
  flex-direction: column;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 24px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
}
.modal-header .logo-section .icogz-logo {
  height: 30px;
  width: auto;
}
.modal-header .close-button {
  background: none;
  border: none;
  padding: 8px;
  cursor: pointer;
  color: #6b7280;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-header .close-button:hover {
  background: #f3f4f6;
  color: var(--secondary-color);
}
.modal-header .close-button svg {
  width: 16px;
  height: 16px;
}

.billing-toggle-section {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 24px;
  flex-shrink: 0;
  position: relative;
}
.billing-toggle-section .close-icon {
  position: absolute;
  top: 30px;
  right: 30px;
  cursor: pointer;
}
.billing-toggle-section .billing-toggle-text {
  font-size: 26px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin-bottom: 26px;
  font-family: "Ubuntu", sans-serif;
}
.billing-toggle-section .billing-toggle {
  display: flex;
  border: 1px solid var(--secondary-color);
  border-radius: 6px;
  overflow: hidden;
}
.billing-toggle-section .billing-toggle .toggle-option {
  padding: 12px 24px;
  border: none;
  background: white;
  color: var(--secondary-color);
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  position: relative;
}
.billing-toggle-section .billing-toggle .toggle-option.active {
  background: var(--secondary-color);
  color: white;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.billing-toggle-section .billing-toggle .toggle-option:hover:not(.active) {
  background: #f3f4f6;
}

.topup_plan_toggle {
  width: 450px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: 14px;
  color: var(--accent-gray-darkest);
  border: 1px solid #e5e7eb;
  padding: 8px 16px;
  border-radius: 10px;
}
.topup_plan_toggle p {
  font-weight: var(--font-weight500);
}
.topup_plan_toggle p span {
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  text-transform: capitalize;
  margin-left: 10px;
}
.topup_plan_toggle hr {
  height: 20px;
}

.plans-container {
  display: flex;
  gap: 20px;
  justify-content: center;
  padding: 24px;
  flex: 1;
  overflow-x: auto;
  overflow-y: hidden;
  /* Allow horizontal scrolling on smaller screens */
}
@media (max-width: 1400px) {
  .plans-container {
    justify-content: flex-start;
    padding: 24px 20px;
  }
}

.plan-card {
  width: 18.75rem;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 15px;
  padding: 24px;
  position: relative;
  transition: all 0.2s ease;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  cursor: pointer;
}
@media (max-width: 768px) {
  .plan-card {
    width: 260px;
    height: auto;
    min-height: 450px;
    padding: 20px;
  }
}
@media (max-width: 480px) {
  .plan-card {
    width: 240px;
    padding: 16px;
    min-height: 420px;
  }
}
.plan-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}
.plan-card.selected {
  border: 2px solid var(--secondary-color);
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
}
.plan-card.popular {
  border: 2px solid var(--secondary-black-darkest);
  box-shadow: 0 6px 16px rgba(23, 23, 23, 0.15);
}
.plan-card .popular-badge {
  position: absolute;
  top: 8px;
  right: 11px;
  background: #eaeaea;
  color: #171717;
  padding: 4px 12px;
  border-radius: 16px;
  font-size: 10px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.plan-card .plan-name {
  font-size: 28px;
  text-align: start;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
}
@media (max-width: 768px) {
  .plan-card .plan-name {
    font-size: 24px;
  }
}
@media (max-width: 480px) {
  .plan-card .plan-name {
    font-size: 22px;
  }
}
.plan-card .plan-price {
  font-size: 42px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: start;
  font-family: "Ubuntu", sans-serif;
}
@media (max-width: 768px) {
  .plan-card {
    font-size: 36px;
  }
}
@media (max-width: 480px) {
  .plan-card {
    font-size: 32px;
  }
}
.plan-card .price-period {
  font-size: 14px;
  font-weight: var(--font-weight400);
  color: #6b7280;
  display: block;
  margin-top: 4px;
}

.plan-button {
  width: 100%;
  padding: 12px 20px;
  border: 1px solid var(--secondary-color);
  background: white;
  color: var(--secondary-color);
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-bottom: 24px;
}
.plan-button:hover {
  background: var(--secondary-color);
  color: white;
}
.plan-button.popular-button {
  background: var(--primary-red-main);
  color: white;
  border-color: var(--primary-red-main);
}
.plan-button.popular-button:hover {
  background: #dc2626;
}
.plan-button.disabled-billing-cycle {
  opacity: 0.5;
  cursor: not-allowed;
  background: #f3f4f6;
  color: #9ca3af;
  border-color: #e5e7eb;
}
.plan-button.disabled-billing-cycle:hover {
  background: #f3f4f6;
  color: #9ca3af;
}

.plan-features {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 20px;
}
.plan-features .feature-item {
  display: flex;
  align-items: flex-start;
  gap: 8px;
}
.plan-features .feature-item .feature-bullet {
  color: var(--secondary-color);
  font-size: 16px;
  line-height: 1.4;
  margin-top: 2px;
}
.plan-features .feature-item .feature-text {
  color: #374151;
  font-size: 14px;
  line-height: 1.4;
  font-family: "Ubuntu", sans-serif;
}

.slick-slide {
  margin: 0 20px;
}

.slick-list .slick-track {
  display: flex;
  align-items: center;
  justify-content: center;
}

@media (max-width: 768px) {
  .upgrade-modal-overlay {
    padding: 0;
  }
  .billing-toggle-section {
    padding: 20px;
  }
  .billing-toggle-section .close-icon-button {
    top: 20px;
    right: 20px;
  }
  .billing-toggle-section .billing-toggle-text {
    font-size: 20px;
    margin-bottom: 20px;
  }
  .billing-toggle-section .billing-toggle .toggle-option {
    padding: 10px 20px;
    font-size: 13px;
  }
  .plans-container {
    padding: 20px 16px;
    gap: 16px;
  }
}
@media (max-width: 480px) {
  .upgrade-modal-overlay {
    padding: 0;
  }
  .modal-header {
    padding: 16px 16px 12px 16px;
  }
  .modal-header .modal-title {
    font-size: 18px;
  }
  .billing-toggle-section {
    padding: 16px;
  }
  .billing-toggle-section .close-icon-button {
    top: 16px;
    right: 16px;
  }
  .billing-toggle-section .billing-toggle-text {
    font-size: 18px;
    margin-bottom: 16px;
  }
  .billing-toggle-section .billing-toggle .toggle-option {
    padding: 8px 16px;
    font-size: 12px;
  }
  .plans-container {
    padding: 16px 12px;
    gap: 12px;
  }
}
.slider-container {
  display: flex;
  column-gap: 10px;
  overflow-x: auto;
  padding: 10px 0;
  scroll-behavior: smooth;
  flex-direction: row;
  /* 🔹 Hide scrollbar — Firefox */
  scrollbar-width: none;
  scroll-snap-type: x mandatory;
}
.slider-container::-webkit-scrollbar {
  display: none;
}
.slider-container::-webkit-scrollbar {
  height: 8px;
}
.slider-container::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
}
.slider-container::-webkit-scrollbar-thumb {
  background: #888;
  border-radius: 4px;
}
.slider-container::-webkit-scrollbar-thumb:hover {
  background: #555;
}
.slider-container .plan-card {
  flex: 0 0 auto;
  scroll-snap-align: start;
  min-width: 280px;
}
@media (max-width: 768px) {
  .slider-container .plan-card {
    min-width: 260px;
    width: 260px !important;
  }
}
@media (max-width: 480px) {
  .slider-container .plan-card {
    min-width: 240px;
    width: 240px !important;
  }
}
.slider-container .current-plan {
  border: 2px solid #000;
}.header_wrapper {
  position: sticky;
  top: 0;
  z-index: 100;
  width: 100%;
}

.modern_header {
  background: var(--light);
  padding: 13px 0;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  border-bottom: 1px solid #e5e7eb;
  display: flex;
  align-items: center;
}

.header_content {
  width: 100%;
}

.header_main {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}

.header_left {
  display: flex;
  align-items: center;
  gap: 10px;
  /* Further reduced gap */
  flex: 0 0 auto;
}

.back_button {
  background: none;
  border: none;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--gray600);
  transition: background-color 0.2s ease;
  flex-shrink: 0;
}
.back_button:hover {
  background-color: var(--gray100);
}

.header_text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  /* Allow text to truncate */
}

.header_title {
  font-size: 13.75px;
  font-weight: var(--font-weight700);
  color: var(--gray900);
  margin: 0;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.header_subtitle {
  font-size: 8.75px;
  color: var(--gray600);
  margin: 0;
  line-height: 1.3;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.dropdown_toggle {
  cursor: pointer;
  border: none;
}

/* Mobile responsiveness */
@media (max-width: 768px) {
  .modern_header {
    padding: 12px 16px 12px 60px;
    min-height: 56px;
  }
  .header_title {
    font-size: 11.25px;
  }
  .header_subtitle {
    font-size: 8px;
  }
  .header_left {
    gap: 8px;
  }
}
@media (max-width: 480px) {
  .modern_header {
    padding: 10px 12px 10px 50px;
    min-height: 48px;
  }
  .header_title {
    font-size: 10px;
  }
  .header_subtitle {
    display: none;
    /* Hide subtitle on very small screens */
  }
}
.dashboard_navbar {
  background: var(--light);
  padding: 15px 30px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: sticky;
  top: 0;
  z-index: 100;
}

.icogz_logo_link {
  text-decoration: none;
  display: flex;
  align-items: center;
}

.icogz_logo {
  height: 32px;
  width: auto;
}

#top_nav_bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  max-width: 600px;
}

.right {
  display: flex;
  align-items: center;
  gap: 20px;
}

.top_nav_options {
  display: flex;
  align-items: center;
  gap: 10px;
}

.date-picker .date-picker-button {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 6px;
  padding: 8px 12px;
  display: flex;
  align-items: center;
  gap: 8px;
  cursor: pointer;
  font-size: var(--font-size-small);
  color: var(--gray700);
  transition: all 0.3s ease;
}
.date-picker .date-picker-button:hover {
  background: var(--gray200);
}
.date-picker .date-picker-button svg {
  width: 16px;
  height: 16px;
}

.global-filter .filter-button {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 6px;
  padding: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.global-filter .filter-button:hover {
  background: var(--gray200);
}
.global-filter .filter-button svg {
  width: 16px;
  height: 16px;
  color: var(--gray700);
}

.export-dropdown .export-button {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 6px;
  padding: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
}
.export-dropdown .export-button:hover {
  background: var(--gray200);
}
.export-dropdown .export-button svg {
  width: 16px;
  height: 16px;
  color: var(--gray700);
}

/* Modern Header Styles */
.modern_header {
  background: var(--accent-light-gray-lightest);
  border-bottom: 1px solid #e5e7eb;
  padding: 13px 0;
  width: 100%;
}

.header_content {
  margin: 0 auto;
  padding: 0 15px;
}

.back_section {
  margin-bottom: 16px;
}

.back_button {
  display: flex;
  align-items: center;
  gap: 8px;
  background: none;
  border: none;
  color: #6b7280;
  font-size: 14px;
  cursor: pointer;
  padding: 8px 0;
  transition: color 0.2s ease;
}
.back_button:hover {
  color: #374151;
}

.back_arrow {
  font-size: 18px;
  font-weight: bold;
}

.back_text {
  font-weight: 500;
}

.header_main {
  text-align: left;
}
.header_main .header_right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.header_main .user_info_dropdown {
  position: absolute;
  top: 52px;
  right: 5px;
  background: #ffffff;
  border: 1px solid #e5e7eb;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border-radius: 8px;
  z-index: 10;
}
.header_main .user_info_dropdown button {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 14px;
  padding: 12px 12px;
  padding-left: 15px;
  cursor: pointer;
  color: var(--accent-gray-medium);
  white-space: nowrap;
  border: none;
  width: 100%;
  background: none;
}

.header_title {
  font-size: 24px;
  font-weight: 600;
  color: #111827;
  margin: 0;
  line-height: 1.2;
}

.avatar-Icon {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: 2px solid var(--secondary-black-light);
  opacity: 0.8;
  font-size: 12px;
  text-align: center;
}

.avatar-tooltip-wrapper {
  position: relative;
  display: inline-block;
}

.avatar-tooltip-wrapper .tooltip {
  position: absolute;
  top: 40px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.avatar-tooltip-wrapper:hover .tooltip {
  opacity: 1;
  visibility: visible;
}.rdrCalendarWrapper {
  box-sizing: border-box;
  background: #ffffff;
  display: inline-flex;
  flex-direction: column;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rdrDateDisplay{
  display: flex;
  justify-content: space-between;
}

.rdrDateDisplayItem{
  flex: 1 1;
  width: 0;
  text-align: center;
  color: inherit;
}

.rdrDateDisplayItem + .rdrDateDisplayItem{
    margin-left: 0.833em;
  }

.rdrDateDisplayItem input{
    text-align: inherit
  }

.rdrDateDisplayItem input:disabled{
      cursor: default;
    }

.rdrDateDisplayItemActive{}

.rdrMonthAndYearWrapper {
  box-sizing: inherit;
  display: flex;
  justify-content: space-between;
}

.rdrMonthAndYearPickers{
  flex: 1 1 auto;
  display: flex;
  justify-content: center;
  align-items: center;
}

.rdrMonthPicker{}

.rdrYearPicker{}

.rdrNextPrevButton {
  box-sizing: inherit;
  cursor: pointer;
  outline: none;
}

.rdrPprevButton {}

.rdrNextButton {}

.rdrMonths{
  display: flex;
}

.rdrMonthsVertical{
  flex-direction: column;
}

.rdrMonthsHorizontal > div > div > div{
  display: flex;
  flex-direction: row;
}

.rdrMonth{
  width: 27.667em;
}

.rdrWeekDays{
  display: flex;
}

.rdrWeekDay {
  flex-basis: calc(100% / 7);
  box-sizing: inherit;
  text-align: center;
}

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

.rdrDateDisplayWrapper{}

.rdrMonthName{}

.rdrInfiniteMonths{
  overflow: auto;
}

.rdrDateRangeWrapper{
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rdrDateInput {
  position: relative;
}

.rdrDateInput input {
    outline: none;
  }

.rdrDateInput .rdrWarning {
    position: absolute;
    font-size: 1.6em;
    line-height: 1.6em;
    top: 0;
    right: .25em;
    color: #FF0000;
  }

.rdrDay {
  box-sizing: inherit;
  width: calc(100% / 7);
  position: relative;
  font: inherit;
  cursor: pointer;
}

.rdrDayNumber {
  display: block;
  position: relative;
}

.rdrDayNumber span{
    color: #1d2429;
  }

.rdrDayDisabled {
  cursor: not-allowed;
}

@supports (-ms-ime-align: auto) {
  .rdrDay {
    flex-basis: 14.285% !important;
  }
}

.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
  pointer-events: none;
}

.rdrInRange{}

.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
  pointer-events: none;
}

.rdrDayHovered{}

.rdrDayActive{}

.rdrDateRangePickerWrapper{
  display: inline-flex;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.rdrDefinedRangesWrapper{}

.rdrStaticRanges{
  display: flex;
  flex-direction: column;
}

.rdrStaticRange{
  font-size: inherit;
}

.rdrStaticRangeLabel{}

.rdrInputRanges{}

.rdrInputRange{
  display: flex;
}

.rdrInputRangeInput{}
.rdrCalendarWrapper{
  color: #000000;
  font-size: 12px;
}

.rdrDateDisplayWrapper{
  background-color: rgb(239, 242, 247);
}

.rdrDateDisplay{
  margin: 0.833em;
}

.rdrDateDisplayItem{
  border-radius: 4px;
  background-color: rgb(255, 255, 255);
  box-shadow: 0 1px 2px 0 rgba(35, 57, 66, 0.21);
  border: 1px solid transparent;
}

.rdrDateDisplayItem input{
    cursor: pointer;
    height: 2.5em;
    line-height: 2.5em;
    border: 0px;
    background: transparent;
    width: 100%;
    color: #849095;
  }

.rdrDateDisplayItemActive{
  border-color: currentColor;
}

.rdrDateDisplayItemActive input{
    color: #7d888d
  }

.rdrMonthAndYearWrapper {
  align-items: center;
  height: 60px;
  padding-top: 10px;
}

.rdrMonthAndYearPickers{
  font-weight: 600;
}

.rdrMonthAndYearPickers select{
    -moz-appearance: none;
         appearance: none;
    -webkit-appearance: none;
    border: 0;
    background: transparent;
    padding: 10px 30px 10px 10px;
    border-radius: 4px;
    outline: 0;
    color: #3e484f;
    background: url("data:image/svg+xml;utf8,<svg width='9px' height='6px' viewBox='0 0 9 6' version='1.1' xmlns='http://www.w3.org/2000/svg' xmlns:xlink='http://www.w3.org/1999/xlink'><g id='Artboard' stroke='none' stroke-width='1' fill='none' fill-rule='evenodd' transform='translate(-636.000000, -171.000000)' fill-opacity='0.368716033'><g id='input' transform='translate(172.000000, 37.000000)' fill='%230E242F' fill-rule='nonzero'><g id='Group-9' transform='translate(323.000000, 127.000000)'><path d='M142.280245,7.23952813 C141.987305,6.92353472 141.512432,6.92361662 141.219585,7.23971106 C140.926739,7.5558055 140.926815,8.06821394 141.219755,8.38420735 L145.498801,13 L149.780245,8.38162071 C150.073185,8.0656273 150.073261,7.55321886 149.780415,7.23712442 C149.487568,6.92102998 149.012695,6.92094808 148.719755,7.23694149 L145.498801,10.7113732 L142.280245,7.23952813 Z' id='arrow'></path></g></g></g></svg>") no-repeat;
    background-position: right 8px center;
    cursor: pointer;
    text-align: center
  }

.rdrMonthAndYearPickers select:hover{
      background-color: rgba(0,0,0,0.07);
    }

.rdrMonthPicker, .rdrYearPicker{
  margin: 0 5px
}

.rdrNextPrevButton {
  display: block;
  width: 24px;
  height: 24px;
  margin: 0 0.833em;
  padding: 0;
  border: 0;
  border-radius: 5px;
  background: #EFF2F7
}

.rdrNextPrevButton:hover{
    background: #E1E7F0;
  }

.rdrNextPrevButton i {
    display: block;
    width: 0;
    height: 0;
    padding: 0;
    text-align: center;
    border-style: solid;
    margin: auto;
    transform: translate(-3px, 0px);
  }

.rdrPprevButton i {
    border-width: 4px 6px 4px 4px;
    border-color: transparent rgb(52, 73, 94) transparent transparent;
    transform: translate(-3px, 0px);
  }

.rdrNextButton i {
    margin: 0 0 0 7px;
    border-width: 4px 4px 4px 6px;
    border-color: transparent transparent transparent rgb(52, 73, 94);
    transform: translate(3px, 0px);
  }

.rdrWeekDays {
  padding: 0 0.833em;
}

.rdrMonth{
  padding: 0 0.833em 1.666em 0.833em;
}

.rdrMonth .rdrWeekDays {
    padding: 0;
  }

.rdrMonths.rdrMonthsVertical .rdrMonth:first-child .rdrMonthName{
  display: none;
}

.rdrWeekDay {
  font-weight: 400;
  line-height: 2.667em;
  color: rgb(132, 144, 149);
}

.rdrDay {
  background: transparent;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  border: 0;
  padding: 0;
  line-height: 3.000em;
  height: 3.000em;
  text-align: center;
  color: #1d2429
}

.rdrDay:focus {
    outline: 0;
  }

.rdrDayNumber {
  outline: 0;
  font-weight: 300;
  position: absolute;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  top: 5px;
  bottom: 5px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.rdrDayToday .rdrDayNumber span{
  font-weight: 500
}

.rdrDayToday .rdrDayNumber span:after{
    content: '';
    position: absolute;
    bottom: 4px;
    left: 50%;
    transform: translate(-50%, 0);
    width: 18px;
    height: 2px;
    border-radius: 2px;
    background: #3d91ff;
  }

.rdrDayToday:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span:after,.rdrDayToday:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span:after{
      background: #fff;
    }

.rdrDay:not(.rdrDayPassive) .rdrInRange ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrStartEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrEndEdge ~ .rdrDayNumber span,.rdrDay:not(.rdrDayPassive) .rdrSelected ~ .rdrDayNumber span{
          color: rgba(255, 255, 255, 0.85);
        }

.rdrSelected, .rdrInRange, .rdrStartEdge, .rdrEndEdge{
  background: currentColor;
  position: absolute;
  top: 5px;
  left: 0;
  right: 0;
  bottom: 5px;
}

.rdrSelected{
  left: 2px;
  right: 2px;
}

.rdrInRange{}

.rdrStartEdge{
  border-top-left-radius: 1.042em;
  border-bottom-left-radius: 1.042em;
  left: 2px;
}

.rdrEndEdge{
  border-top-right-radius: 1.042em;
  border-bottom-right-radius: 1.042em;
  right: 2px;
}

.rdrSelected{
  border-radius: 1.042em;
}

.rdrDayStartOfMonth .rdrInRange, .rdrDayStartOfMonth .rdrEndEdge, .rdrDayStartOfWeek .rdrInRange, .rdrDayStartOfWeek .rdrEndEdge{
    border-top-left-radius: 1.042em;
    border-bottom-left-radius: 1.042em;
    left: 2px;
  }

.rdrDayEndOfMonth .rdrInRange,  .rdrDayEndOfMonth .rdrStartEdge,  .rdrDayEndOfWeek .rdrInRange,  .rdrDayEndOfWeek .rdrStartEdge{
    border-top-right-radius: 1.042em;
    border-bottom-right-radius: 1.042em;
    right: 2px;
  }

.rdrDayStartOfMonth .rdrDayInPreview, .rdrDayStartOfMonth .rdrDayEndPreview, .rdrDayStartOfWeek .rdrDayInPreview, .rdrDayStartOfWeek .rdrDayEndPreview{
    border-top-left-radius: 1.333em;
    border-bottom-left-radius: 1.333em;
    border-left-width: 1px;
    left: 0px;
  }

.rdrDayEndOfMonth .rdrDayInPreview, .rdrDayEndOfMonth .rdrDayStartPreview, .rdrDayEndOfWeek .rdrDayInPreview, .rdrDayEndOfWeek .rdrDayStartPreview{
   border-top-right-radius: 1.333em;
   border-bottom-right-radius: 1.333em;
   border-right-width: 1px;
   right: 0px;
 }

.rdrDayStartPreview, .rdrDayInPreview, .rdrDayEndPreview{
  background: rgba(255, 255, 255, 0.09);
  position: absolute;
  top: 3px;
  left: 0px;
  right: 0px;
  bottom: 3px;
  pointer-events: none;
  border: 0px solid currentColor;
  z-index: 1;
}

.rdrDayStartPreview{
  border-top-width: 1px;
  border-left-width: 1px;
  border-bottom-width: 1px;
  border-top-left-radius: 1.333em;
  border-bottom-left-radius: 1.333em;
  left: 0px;
}

.rdrDayInPreview{
  border-top-width: 1px;
  border-bottom-width: 1px;
}

.rdrDayEndPreview{
  border-top-width: 1px;
  border-right-width: 1px;
  border-bottom-width: 1px;
  border-top-right-radius: 1.333em;
  border-bottom-right-radius: 1.333em;
  right: 2px;
  right: 0px;
}

.rdrDefinedRangesWrapper{
  font-size: 12px;
  width: 226px;
  border-right: solid 1px #eff2f7;
  background: #fff;
}

.rdrDefinedRangesWrapper .rdrStaticRangeSelected{
    color: currentColor;
    font-weight: 600;
  }

.rdrStaticRange{
  border: 0;
  cursor: pointer;
  display: block;
  outline: 0;
  border-bottom: 1px solid #eff2f7;
  padding: 0;
  background: #fff
}

.rdrStaticRange:hover .rdrStaticRangeLabel,.rdrStaticRange:focus .rdrStaticRangeLabel{
      background: #eff2f7;
    }

.rdrStaticRangeLabel{
  display: block;
  outline: 0;
  line-height: 18px;
  padding: 10px 20px;
  text-align: left;
}

.rdrInputRanges{
  padding: 10px 0;
}

.rdrInputRange{
  align-items: center;
  padding: 5px 20px;
}

.rdrInputRangeInput{
  width: 30px;
  height: 30px;
  line-height: 30px;
  border-radius: 4px;
  text-align: center;
  border: solid 1px rgb(222, 231, 235);
  margin-right: 10px;
  color: rgb(108, 118, 122)
}

.rdrInputRangeInput:focus, .rdrInputRangeInput:hover{
    border-color: rgb(180, 191, 196);
    outline: 0;
    color: #333;
  }

.rdrCalendarWrapper:not(.rdrDateRangeWrapper) .rdrDayHovered .rdrDayNumber:after{
  content: '';
  border: 1px solid currentColor;
  border-radius: 1.333em;
  position: absolute;
  top: -2px;
  bottom: -2px;
  left: 0px;
  right: 0px;
  background: transparent;
}

.rdrDayPassive{
  pointer-events: none;
}

.rdrDayPassive .rdrDayNumber span{
    color: #d5dce0;
  }

.rdrDayPassive .rdrInRange, .rdrDayPassive .rdrStartEdge, .rdrDayPassive .rdrEndEdge, .rdrDayPassive .rdrSelected, .rdrDayPassive .rdrDayStartPreview, .rdrDayPassive .rdrDayInPreview, .rdrDayPassive .rdrDayEndPreview{
    display: none;
  }

.rdrDayDisabled {
  background-color: rgb(248, 248, 248);
}

.rdrDayDisabled .rdrDayNumber span{
    color: #aeb9bf;
  }

.rdrDayDisabled .rdrInRange, .rdrDayDisabled .rdrStartEdge, .rdrDayDisabled .rdrEndEdge, .rdrDayDisabled .rdrSelected, .rdrDayDisabled .rdrDayStartPreview, .rdrDayDisabled .rdrDayInPreview, .rdrDayDisabled .rdrDayEndPreview{
    filter: grayscale(100%) opacity(60%);
  }

.rdrMonthName{
  text-align: left;
  font-weight: 600;
  color: #849095;
  padding: 0.833em;
}
.datepicker_wrapper {
  background-color: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 10px;
  width: 290px;
  height: 40px;
  transition: all 0.2s ease;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.datepicker_wrapper:hover {
  cursor: pointer;
  border-color: #d1d5db;
  background-color: #f3f4f6;
}

.datepicker_wrapper .datepicker_section {
  display: flex;
  justify-content: space-between;
  height: 100%;
  padding: 0 16px;
  align-items: center;
}

.datepicker_wrapper .datepicker_section .datepicker {
  display: flex;
  align-items: center;
  gap: 8px;
}

.datepicker_wrapper .datepicker_section .datepicker .date_title {
  color: #374151;
  font-size: 14px;
  font-weight: 500;
}

.datepicker_wrapper .datepicker_section .datepicker .date_subtitle {
  color: #9ca3af;
  font-size: 13px;
  font-weight: 400;
}

.datepicker_wrapper .datepicker_section .icon {
  height: 18px;
  width: 18px;
  color: #6b7280;
  transition: color 0.2s ease;
}

.datepicker_wrapper:hover .icon {
  color: #374151;
}

.datepicker_dropdown_wrapper {
  background-color: #ffffff;
  border-radius: 7px;
  box-shadow: 0 2px 5px 0 rgba(0, 0, 0, 0.26), 0 2px 10px 0 rgba(0, 0, 0, 0.16);
  position: absolute;
  top: 50px;
  right: 0;
  z-index: 1000;
}

.datepicker_dropdown_wrapper .datepicker_calender .rdrDefinedRangesWrapper .rdrStaticRanges .rdrStaticRange {
  border-bottom: 1px solid #f9fafb;
}
.datepicker_dropdown_wrapper .datepicker_calender .rdrDefinedRangesWrapper .rdrStaticRanges .rdrStaticRange .rdrStaticRangeLabel {
  padding: 12px 24px !important;
  font-weight: 500;
  transition: all 0.2s ease;
  color: #4b5563;
}
.datepicker_dropdown_wrapper .datepicker_calender .rdrDefinedRangesWrapper .rdrStaticRanges .rdrStaticRange .rdrStaticRangeLabel:hover {
  background: #f3f4f6 !important;
  color: #d31f1f;
}

.datepicker_dropdown_wrapper .datepicker_calender .rdrDefinedRangesWrapper .rdrStaticRanges .rdrStaticRangeSelected .rdrStaticRangeLabel {
  color: #d31f1f !important;
  background: #fef2f2 !important;
}

.datepicker_dropdown_wrapper .datepicker_calender .rdrDefinedRangesWrapper .rdrInputRanges {
  display: none;
}

.datepicker_dropdown_wrapper .rdrDayToday .rdrDayNumber span::after {
  display: none !important;
}

.datepicker_dropdown_wrapper .rdrCalendarWrapper {
  color: var(--secondary-color, #3d3d3d);
  font-size: 12px;
}

.datepicker_dropdown_wrapper .rdrDayNumber {
  font-weight: 500;
  font-size: 13px;
}

/* Custom styles for range inputs at the top */
.datepicker_dropdown_wrapper .rdrDateDisplayWrapper {
  background-color: transparent;
  padding: 16px;
  border-bottom: 1px solid var(--border-nav, #f3f4f6);
}

.datepicker_dropdown_wrapper .rdrDateDisplay {
  margin: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.datepicker_dropdown_wrapper .rdrDateDisplayItem {
  box-shadow: none;
  background: var(--background-white-pure, #f9fafb);
  border: 1px solid var(--border-base, #e5e7eb);
  border-radius: 8px;
  padding: 0;
  margin: 0;
  overflow: hidden;
  transition: all 0.2s ease;
}
.datepicker_dropdown_wrapper .rdrDateDisplayItem.rdrDateDisplayItemActive {
  border: 1.5px solid var(--primary-red-main, #d31f1f);
  background: var(--background-white-main, #ffffff);
}

.datepicker_dropdown_wrapper .rdrDateInput {
  height: 44px;
  width: 100%;
  background: transparent;
  border: none;
  box-shadow: none;
}
.datepicker_dropdown_wrapper .rdrDateInput input {
  font-size: 13.5px;
  color: var(--secondary-black-darkest, #374151);
  font-weight: var(--font-weight500, 500);
  text-align: center;
  width: 100%;
  height: 100%;
  background: transparent !important;
}

/* Calendar Month/Year Header */
.datepicker_dropdown_wrapper .rdrMonthAndYearWrapper {
  padding-top: 16px;
  height: 50px;
}

.datepicker_dropdown_wrapper .rdrMonthAndYearPickers {
  font-weight: 600;
  color: #1f2937;
}
.datepicker_dropdown_wrapper .rdrMonthAndYearPickers select {
  color: #1f2937;
  background: #f9fafb;
  padding: 4px 8px;
  border-radius: 6px;
  border: 1px solid transparent;
  transition: all 0.2s;
}
.datepicker_dropdown_wrapper .rdrMonthAndYearPickers select:hover {
  background: #f3f4f6;
  border-color: #e5e7eb;
}

.datepicker_dropdown_wrapper .rdrNextPrevButton {
  background: #f9fafb;
  border-radius: 6px;
}
.datepicker_dropdown_wrapper .rdrNextPrevButton:hover {
  background: #f3f4f6;
}

.datepicker_dropdown_wrapper .datepicker_header {
  display: flex;
  justify-content: flex-end;
  padding: 12px 16px 0;
}
.datepicker_dropdown_wrapper .datepicker_header .clear_all_btn {
  background: none;
  border: none;
  color: var(--secondary-black-darkest, #171717);
  font-size: var(--font-size-small, 14px);
  font-weight: var(--font-weight500, 500);
  cursor: pointer;
  padding: 4px;
  transition: color 0.2s;
}
.datepicker_dropdown_wrapper .datepicker_header .clear_all_btn:hover {
  color: var(--primary-red-main, #d31f1f);
  text-decoration: underline;
}

.datepicker_dropdown_wrapper .datepicker_footer {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 24px;
  gap: 12px;
  border-top: 1px solid var(--border-nav, #f0f0f0);
  background: var(--background-white-main, #ffffff);
  border-radius: 0 0 12px 12px;
}
.datepicker_dropdown_wrapper .datepicker_footer .datepicker_footer_btn {
  flex: 1;
  min-width: calc(50% - 6px);
  height: 44px !important;
  font-weight: var(--font-weight500, 500) !important;
  font-size: var(--font-size-small, 14px) !important;
  border-radius: 6px !important;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 24px !important;
}
.datepicker_dropdown_wrapper .datepicker_footer .datepicker_footer_btn.custom_button--primary {
  background-color: var(--secondary-black-darkest, #171717) !important;
  color: var(--background-white-main, #ffffff) !important;
  border: none !important;
}
.datepicker_dropdown_wrapper .datepicker_footer .datepicker_footer_btn.custom_button--primary:hover {
  background-color: var(--primary-red-main, #d31f1f) !important;
}
.datepicker_dropdown_wrapper .datepicker_footer .datepicker_footer_btn.custom_button--outline {
  background-color: transparent !important;
  color: var(--primary-red-main, #d31f1f) !important;
  border: 1px solid var(--primary-red-main, #d31f1f) !important;
}
.datepicker_dropdown_wrapper .datepicker_footer .datepicker_footer_btn.custom_button--outline:hover {
  background-color: var(--bg-alert-error, rgba(211, 31, 31, 0.1)) !important;
  border-color: var(--primary-red-dark, #b21a1a) !important;
  color: var(--primary-red-dark, #b21a1a) !important;
}

.datepicker_relative_container {
  position: relative;
}/* Confirmation Modal Styles */
.confirmation-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 1000;
  backdrop-filter: blur(2px);
}

.confirmation-modal-container {
  background: white;
  border-radius: 12px;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
  max-width: 500px;
  width: 90%;
  max-height: 90vh;
  overflow-y: auto;
  position: relative;
  animation: modalFadeIn 0.3s ease-out;
  border: none;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.confirmation-modal-content {
  padding: 32px;
  position: relative;
  display: flex;
  flex-direction: column;
}

.modal-close-button {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  font-size: 24px;
  font-weight: bold;
  color: #9ca3af;
  cursor: pointer;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  transition: all 0.2s ease;
}
.modal-close-button:hover {
  background-color: #f3f4f6;
  color: #6b7280;
}

.modal-message {
  text-align: center;
  color: var(--secondary-color);
  font-weight: 400;
}

.modal-success-icon {
  margin-bottom: 16px;
  display: flex;
  justify-content: center;
}
.modal-success-icon svg {
  color: var(--success-green-medium);
  width: 48px;
  height: 48px;
}

.modal-title {
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  line-height: 1.4;
}

.modal-title-string {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 16px 0;
  line-height: 1.4;
}

.modal-text {
  font-size: 16px;
  color: #6b7280;
  margin: 0;
  line-height: 1.5;
}

.modal-input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 16px;
  color: #111827;
  background: #ffffff;
  margin-top: 16px;
  box-sizing: border-box;
  transition: border-color 0.3s ease;
}
.modal-input:focus {
  outline: none;
  border-color: var(--primary-red-main);
  box-shadow: 0 0 0 2px rgba(211, 31, 31, 0.1);
}

.modal-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}

.modal-cancel-button {
  padding: 12px 24px;
  background: transparent;
  color: var(--primary-red-main);
  border: 1px solid var(--primary-red-main);
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 50%;
}
.modal-cancel-button:hover {
  background-color: rgba(211, 31, 31, 0.1);
  border-color: var(--primary-red-dark);
  color: var(--primary-red-dark);
}

.modal-confirm-button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 50%;
}
.modal-confirm-button:hover {
  background: var(--primary-red-main);
}

/* Responsive adjustments */
@media (max-width: 640px) {
  .confirmation-modal-container {
    margin: 16px;
    width: calc(100% - 32px);
  }
  .confirmation-modal-content {
    padding: 24px;
  }
  .modal-actions {
    flex-direction: column;
  }
  .modal-actions .modal-cancel-button,
  .modal-actions .modal-confirm-button {
    width: 100%;
  }
}.global_filter_trigger {
  display: inline-flex;
  align-items: center;
}
.global_filter_trigger .filter_toggle_btn {
  width: 32px;
  height: 32px;
  border-radius: 6px;
  padding: 0 !important;
  background-color: transparent !important;
  border: none !important;
  display: flex;
  align-items: center;
  justify-content: center;
  box-shadow: none !important;
}
.global_filter_trigger .filter_toggle_btn .custom_button__icon {
  margin: 0 !important;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: center;
}
.global_filter_trigger .filter_toggle_btn .custom_button__text {
  display: none !important;
}
.global_filter_trigger .filter_toggle_btn svg {
  width: 20px;
  height: 20px;
  stroke: var(--secondary-black-darkest, #171717);
  stroke-width: 1.5;
  transition: all 0.2s ease;
}
.global_filter_trigger .filter_toggle_btn.active, .global_filter_trigger .filter_toggle_btn:hover {
  background-color: rgba(0, 0, 0, 0.05) !important;
}
.global_filter_trigger .filter_toggle_btn.active svg, .global_filter_trigger .filter_toggle_btn:hover svg {
  transform: scale(1.1);
}

.globalFilter_container {
  position: fixed;
  right: 0;
  top: 68px;
  width: 380px;
  height: calc(100vh - 68px);
  background: var(--bg-container, #ffffff);
  z-index: 1000;
  box-shadow: -2px 0 15px rgba(0, 0, 0, 0.1);
  display: flex;
  flex-direction: column;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
  transform: translateX(100%);
}
.globalFilter_container.active {
  transform: translateX(0);
}
.globalFilter_container .filter_header {
  padding: 24px 20px 16px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.globalFilter_container .filter_header .filter_title {
  font-size: var(--h3-font-size, 20px);
  font-weight: var(--font-weight500, 500);
  color: var(--secondary-black-darkest, #171717);
  margin: 0;
}
.globalFilter_container .filter_header .close_btn {
  background: none;
  border: none;
  color: var(--accent-gray-medium, #6d8196);
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}
.globalFilter_container .filter_header .close_btn svg {
  width: 14px;
  height: 14px;
}
.globalFilter_container .filter_header .close_btn:hover {
  color: var(--secondary-black-darkest, #171717);
}
.globalFilter_container .searchbar_container {
  padding: 0 20px 20px;
  position: relative;
}
.globalFilter_container .searchbar_container .search_input {
  width: 100%;
  height: 44px;
  padding: 10px 40px 10px 15px;
  border: 1px solid var(--border-base, #e2e2e2);
  border-radius: 8px;
  font-size: var(--font-size-small, 14px);
  color: var(--secondary-black-darkest, #171717);
  outline: none;
  font-family: inherit;
  background: var(--background-white-pure, #f7f7f7);
}
.globalFilter_container .searchbar_container .search_input::placeholder {
  color: var(--accent-gray-lightest, #95abc1);
}
.globalFilter_container .searchbar_container .search_input:focus {
  border-color: var(--primary-red-main, #d31f1f);
  background: var(--background-white-main, #ffffff);
}
.globalFilter_container .searchbar_container .search_icon_right {
  position: absolute;
  right: 32px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--accent-gray-lightest, #95abc1);
  pointer-events: none;
  display: flex;
  align-items: center;
}
.globalFilter_container .filter_sections {
  flex: 1;
  overflow-y: auto;
  padding-bottom: 20px;
}
.globalFilter_container .filter_sections .filter_section {
  border-bottom: 1px solid var(--border-nav, #f3f4f6);
}
.globalFilter_container .filter_sections .filter_section .section_header {
  padding: 16px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
  transition: background 0.2s;
}
.globalFilter_container .filter_sections .filter_section .section_header:hover {
  background: var(--background-white-pure, #f7f7f7);
}
.globalFilter_container .filter_sections .filter_section .section_header.disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.globalFilter_container .filter_sections .filter_section .section_header .section_title {
  font-size: 15px;
  font-weight: var(--font-weight500, 500);
  color: var(--secondary-black-darkest, #171717);
}
.globalFilter_container .filter_sections .filter_section .section_header .section_title .selected_count {
  color: var(--primary-red-main, #d31f1f);
  font-weight: var(--font-weight500);
}
.globalFilter_container .filter_sections .filter_section .section_header .section_arrow {
  color: var(--secondary-black-darkest, #171717);
  transition: transform 0.3s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.globalFilter_container .filter_sections .filter_section .section_header .section_arrow svg {
  width: 12px;
  height: 12px;
}
.globalFilter_container .filter_sections .filter_section .section_content {
  padding: 0 20px 20px;
  background: var(--bg-container, #fff);
}
.globalFilter_container .filter_sections .filter_section .section_content .select_all_label {
  margin-bottom: 12px;
}
.globalFilter_container .filter_sections .filter_section .section_content .select_all_label .checkbox_text {
  color: var(--secondary-black-darkest, #171717);
  font-weight: var(--font-weight500);
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label {
  display: flex;
  align-items: center;
  margin-bottom: 12px;
  cursor: pointer;
  position: relative;
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label input {
  position: absolute;
  opacity: 0;
  cursor: pointer;
  height: 0;
  width: 0;
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label .custom-checkbox {
  height: 18px;
  width: 18px;
  background-color: var(--background-white-main, #fff);
  border: 1.5px solid var(--border-base, #e2e2e2);
  border-radius: 4px;
  margin-right: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label .custom-checkbox::after {
  content: "";
  display: none;
  width: 5px;
  height: 9px;
  border: solid white;
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
  margin-bottom: 2px;
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label input:checked ~ .custom-checkbox {
  background-color: var(--secondary-black-darkest, #171717);
  border-color: var(--secondary-black-darkest, #171717);
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label input:checked ~ .custom-checkbox::after {
  display: block;
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label .checkbox_text {
  font-size: var(--font-size-small, 14px);
  color: var(--accent-gray-medium, #6d8196);
  font-weight: var(--font-weight400);
}
.globalFilter_container .filter_sections .filter_section .section_content .checkbox_label:hover .custom-checkbox {
  border-color: var(--secondary-black-darkest, #171717);
}
.globalFilter_container .filter_sections .filter_section .section_content .show_more_link,
.globalFilter_container .filter_sections .filter_section .section_content .show_less_link {
  background: none;
  border: none;
  color: var(--primary-red-main, #d31f1f);
  font-size: 13px;
  font-weight: var(--font-weight500);
  cursor: pointer;
  padding: 4px 0;
  margin-top: 4px;
}
.globalFilter_container .filter_sections .filter_section .section_content .show_more_link:hover,
.globalFilter_container .filter_sections .filter_section .section_content .show_less_link:hover {
  text-decoration: underline;
}
.globalFilter_container .filter_sections .filter_section .section_content .no_results {
  font-size: 13px;
  color: var(--accent-gray-medium, #6d8196);
  text-align: center;
  margin: 10px 0;
}
.globalFilter_container .button_container {
  padding: 24px 20px;
  display: flex;
  gap: 16px;
  border-top: 1px solid var(--border-base, #e2e2e2);
  background: var(--bg-container, #fff);
}
.globalFilter_container .button_container .custom_button {
  height: 44px;
  border-radius: 8px;
  font-weight: var(--font-weight500, 500) !important;
  font-size: 15px;
}
.globalFilter_container .button_container .custom_button--outline {
  background-color: transparent !important;
  color: var(--secondary-black-darkest, #171717) !important;
  border: 1px solid var(--secondary-black-darkest, #171717) !important;
}
.globalFilter_container .button_container .custom_button--outline:hover {
  background-color: var(--background-white-pure, #f7f7f7) !important;
  color: var(--primary-red-main, #d31f1f) !important;
  border-color: var(--primary-red-main, #d31f1f) !important;
}
.globalFilter_container .button_container .custom_button--primary {
  background-color: var(--secondary-black-darkest, #171717) !important;
  color: var(--light, #ffffff) !important;
  border: none !important;
}
.globalFilter_container .button_container .custom_button--primary:hover {
  background-color: var(--primary-red-main, #d31f1f) !important;
}

.alphabetical_view .alphabet_nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  margin-bottom: 12px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-base, #e2e2e2);
}
.alphabetical_view .alphabet_nav .alphabet_btn {
  width: 24px;
  height: 24px;
  border: none;
  background: none;
  font-size: 12px;
  font-weight: var(--font-weight700);
  color: var(--accent-gray-lightest, #a0b3c6);
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.alphabetical_view .alphabet_nav .alphabet_btn.available {
  color: var(--secondary-gray700, #486f88);
}
.alphabetical_view .alphabet_nav .alphabet_btn.available:hover {
  background: var(--background-white-pure, #f7f7f7);
  color: var(--secondary-black-darkest, #171717);
}
.alphabetical_view .alphabet_nav .alphabet_btn.selected {
  background: var(--secondary-black-darkest, #171717);
  color: var(--light, #ffffff) !important;
}
.alphabetical_view .alphabet_nav .alphabet_btn.unavailable {
  opacity: 0.3;
  cursor: not-allowed;
}
.alphabetical_view .letter_groups {
  max-height: 300px;
  overflow-y: auto;
}
.alphabetical_view .letter_groups .letter_header {
  font-size: var(--font-size-small, 14px);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest, #171717);
  margin: 16px 0 8px;
}
.alphabetical_view .letter_groups .letter_header:first-child {
  margin-top: 0;
}.quick_action_btn {
  display: inline-block;
  background: white;
  border-radius: 12px;
  padding: 12px 16px;
  font-size: 14px;
  font-weight: 500;
  color: #495057;
  text-align: start;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
  user-select: none;
  border: 1px solid transparent;
}
.quick_action_btn:hover {
  background: white;
  color: var(--secondary-black-darkest);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-1px);
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.quick_action_btn:active {
  transform: translateY(0);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.quick_actions_grid {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 10px;
  column-gap: 20px;
  margin: 20px 0;
  width: 100%;
  padding: 20px;
}

.quick_actions_title {
  font-size: 20px;
  font-weight: 600;
  color: #212529;
  margin: 24px 0 16px 0;
}

@media (max-width: 768px) {
  .quick_action_btn {
    padding: 14px 20px;
    font-size: 13px;
    border-radius: 20px;
  }
  .quick_actions_title {
    font-size: 18px;
    margin: 20px 0 12px 0;
  }
}.empty-state-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  background-color: #fafafa;
  border-radius: 12px;
  border: 1px solid #f0f0f0;
  margin: 10px 0;
}
.empty-state-container .empty-state-content {
  text-align: center;
  max-width: 400px;
  padding: 40px;
}
.empty-state-container .empty-state-content .empty-state-icon {
  font-size: 36px;
  margin-bottom: 16px;
  color: #94a3b8;
  display: flex;
  justify-content: center;
}
.empty-state-container .empty-state-content .empty-state-title {
  font-family: "Outfit", sans-serif;
  font-weight: 600;
  font-size: 16px;
  color: #475569;
  margin-bottom: 6px;
}
.empty-state-container .empty-state-content .empty-state-description {
  font-family: "Outfit", sans-serif;
  font-size: 13px;
  color: #64748b;
  line-height: 1.5;
  font-weight: 400;
}.data-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
  background: white;
  border: 1px solid #e5e7eb;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.data-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  margin: 0;
  table-layout: auto;
  /* Use auto layout to allow columns to adjust to content */
}

.data-table th,
.data-table td {
  font-size: 13px;
  color: #374151;
  background: #fff;
  font-weight: 400;
  padding: 12px 16px;
  border: none;
  border-bottom: 1px solid #f3f4f6;
  text-align: left;
  vertical-align: middle;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.4;
  min-width: 120px;
  white-space: nowrap;
}

.data-table thead th {
  background: var(--secondary-black-darkest);
  color: #ffffff;
  font-weight: 600;
  font-size: 12px;
  padding: 12px 16px;
  border: none;
  border-bottom: 1px solid var(--secondary-black-darkest);
  text-align: left;
  vertical-align: middle;
  position: relative;
  z-index: 10;
  white-space: nowrap;
  height: 48px;
}

.data-table tbody tr:hover td,
.data-table tbody tr:hover td:first-child {
  background: #f8f9fa;
}

.data-table th.fixed-col,
.data-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 20;
  background: var(--secondary-black-darkest);
  color: var(--light);
  font-weight: 600;
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.1);
  padding-left: 20px;
  min-width: 160px;
}

.data-table td.fixed-col,
.data-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 15;
  background: #fff;
  color: #333;
  font-weight: 400;
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.1);
  padding-left: 20px;
  min-width: 160px;
}

/* Right align numeric columns (all except first) */
.data-table th:nth-child(n+2),
.data-table td:nth-child(n+2) {
  text-align: right;
}

.data-table thead .sort_icon_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 18px;
  margin-left: 8px;
  gap: 1px;
  /* Reset any global icon_wrapper styles */
  width: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: static !important;
}

.data-table thead .sort_icon_wrapper .icon {
  font-size: 10px;
  color: #ffffff;
  opacity: 0.6;
  width: 10px;
  height: 8px;
  line-height: 1;
}

.data-table thead .sort_icon_wrapper .icon.active {
  opacity: 1;
}

.data-table thead .th_wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  /* Right align headers */
  width: 100%;
  gap: 4px;
}

.data-table thead th:first-child .th_wrapper {
  justify-content: flex-start;
  /* Left align first header */
}

.data-table thead .th_title {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  display: flex;
  align-items: center;
  cursor: pointer;
  white-space: nowrap;
}

.pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff;
  margin-top: 24px;
}

.pagination-info {
  color: #6b7280;
  font-size: 14px;
}

.pagination-controls {
  display: flex;
  gap: 4px;
}

.pagination-btn {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
}
.pagination-btn.active {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  color: white;
}
.pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.table_wrapper {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .data-table th,
  .data-table td {
    padding: 8px 12px;
    font-size: 12px;
  }
}
@media (max-width: 600px) {
  .pagination-wrapper {
    flex-direction: column;
    gap: 16px;
    padding: 16px;
  }
}.chart-wrapper {
  background: white;
  border-radius: 12px;
  border: 1px solid #e5e7eb;
  overflow: hidden;
  margin: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.chart-wrapper .chart-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: #f8f9fa;
  border-bottom: 1px solid #e5e7eb;
}
.chart-wrapper .chart-header .chart-title-section {
  flex: 1;
}
.chart-wrapper .chart-header .chart-title-section .chart-title {
  margin: 0 0 4px 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  line-height: 1.4;
}
.chart-wrapper .chart-header .chart-title-section .chart-subtitle {
  margin: 0;
  font-size: 14px;
  color: #6b7280;
  line-height: 1.4;
}
.chart-wrapper .chart-header .chart-view-toggle {
  display: flex;
  align-items: center;
  margin-left: 16px;
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-buttons {
  display: flex;
  gap: 4px;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 4px;
  border: 1px solid #e9ecef;
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  height: 32px;
  border: none;
  border-radius: 6px;
  background: transparent;
  color: #6c757d;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 14px;
  position: relative;
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn:hover {
  background: #e9ecef;
  color: #495057;
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn.active {
  background: #343a40;
  color: #ffffff;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn.download-btn:hover {
  background: #e3f2fd;
  color: #1976d2;
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn svg {
  transition: transform 0.2s ease;
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn:hover svg {
  transform: scale(1.1);
}
.chart-wrapper .chart-header .chart-view-toggle .toggle-btn:active {
  transform: translateY(1px);
}
.chart-wrapper .chart-content {
  padding: 20px;
}
.chart-wrapper .chart-content .no-data-message {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 300px;
  background: #f8f9fa;
  border-radius: 8px;
  border: 2px dashed #e5e7eb;
}
.chart-wrapper .chart-content .no-data-message p {
  margin: 0;
  color: #6b7280;
  font-size: 16px;
  font-weight: 500;
  text-align: center;
}
.chart-wrapper .chart-content .data-table-wrapper {
  padding: 0;
}
.chart-wrapper .chart-content .split-view {
  display: flex;
  gap: 20px;
  width: 100%;
  height: 600px;
}
.chart-wrapper .chart-content .split-view .chart-section,
.chart-wrapper .chart-content .split-view .table-section {
  flex: 1;
  background: #f8f9fa;
  border-radius: 8px;
  padding: 16px;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.chart-wrapper .chart-content .split-view .chart-section h4,
.chart-wrapper .chart-content .split-view .table-section h4 {
  margin: 0 0 16px 0;
  color: #374151;
  font-size: 16px;
  font-weight: 600;
  flex-shrink: 0;
}
.chart-wrapper .chart-content .split-view .chart-section .chart-container {
  flex: 1;
  width: 100%;
  min-height: 0;
  overflow: hidden;
}
.chart-wrapper .chart-content .split-view .chart-section .chart-container > div {
  height: 100% !important;
  min-height: 300px;
}
.chart-wrapper .chart-content .split-view .table-section .table-container {
  flex: 1;
  width: 100%;
  min-height: 0;
  overflow: auto;
}

@media (max-width: 768px) {
  .chart-wrapper .chart-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .chart-wrapper .chart-header .chart-view-toggle {
    margin-left: 0;
    align-self: flex-end;
  }
  .chart-wrapper .chart-content {
    padding: 16px;
  }
  .chart-wrapper .chart-content .split-view {
    flex-direction: column;
    gap: 16px;
  }
}
.chart-content {
  display: flex;
  flex-direction: column;
  width: 100%;
  overflow-x: auto;
  /* ---------------------- */
  /* RESPONSIVE ONLY BELOW  */
  /* ---------------------- */
}
.chart-content .split-view {
  display: flex;
  flex-direction: row;
  gap: 1rem;
}
.chart-content .split-view .chart-section,
.chart-content .split-view .table-section {
  flex: 1;
  min-width: 0;
}
.chart-content .no-data-message {
  text-align: center;
  padding: 2rem 1rem;
  color: #999;
}
@media screen and (max-width: 1024px) {
  .chart-content .split-view {
    flex-direction: column;
    gap: 1.5rem;
  }
  .chart-content .split-view .chart-section,
  .chart-content .split-view .table-section {
    width: 100%;
  }
}
@media screen and (max-width: 768px) {
  .chart-content .split-view {
    flex-direction: column;
    gap: 1rem;
  }
  .chart-content .split-view .chart-section,
  .chart-content .split-view .table-section {
    width: 100%;
  }
  .chart-content .split-view .chart-section h4,
  .chart-content .split-view .table-section h4 {
    font-size: 0.9rem;
  }
  .chart-content .data-table-wrapper {
    overflow-x: auto;
  }
  .chart-content table.data-table {
    min-width: 600px;
    width: 100%;
  }
  .chart-content .chart-section canvas,
  .chart-content .chart-section svg {
    max-width: 100%;
    height: auto;
  }
}
.pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff !important;
  margin-top: 24px;
}

.pagination-info {
  color: #6b7280;
  font-size: 14px;
}

.pagination-controls {
  display: flex;
  gap: 4px;
}

.pagination-btn {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}

.pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
}

.pagination-btn.active:hover {
  background: var(--primary-red-main);
  border-color: var(--primary-red-main);
}

.pagination-btn.active {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  color: white;
}

.pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.nested-summary-table-wrapper {
  width: 100%;
  overflow-x: auto;
  border-radius: 8px;
  background: white;
  border: 1px solid #e5e7eb;
  /* Add smooth scrolling */
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.nested-summary-table {
  width: 100%;
  max-width: 100%;
  min-width: 900px;
  border-collapse: collapse;
  background: white;
  margin: 0;
}

@media (max-width: 1200px) {
  .nested-summary-table {
    min-width: 700px;
  }
  .nested-summary-table th,
  .nested-summary-table td {
    min-width: 80px;
    max-width: 150px;
    font-size: 12px;
    padding: 8px 6px;
  }
  .nested-summary-table thead th {
    font-size: 11px;
    padding: 8px 6px;
    min-width: 80px;
    max-width: 150px;
  }
}
@media (max-width: 700px) {
  .nested-summary-table {
    min-width: 500px;
  }
  .nested-summary-table th,
  .nested-summary-table td {
    min-width: 60px;
    max-width: 100px;
    font-size: 11px;
    padding: 6px 4px;
  }
  .nested-summary-table thead th {
    font-size: 10px;
    padding: 6px 4px;
    min-width: 60px;
    max-width: 100px;
  }
}
.nested-summary-table th,
.nested-summary-table td {
  font-size: 13px;
  color: #374151;
  background: #fff;
  font-weight: 400;
  padding: 12px 8px;
  /* Reduced padding for better fit */
  border: none;
  border-bottom: 1px solid #f3f4f6;
  text-align: left;
  vertical-align: middle;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.4;
  min-width: 100px;
  /* Minimum column width */
  max-width: 200px;
  /* Maximum column width */
  overflow: hidden;
  text-overflow: ellipsis;
}

.nested-summary-table thead th {
  background: var(--secondary-black-darkest);
  color: #ffffff;
  font-weight: 600;
  font-size: 12px;
  padding: 12px 8px;
  /* Reduced padding for headers */
  border: none;
  border-bottom: 1px solid var(--secondary-black-darkest);
  text-align: left;
  vertical-align: middle;
  position: relative;
  z-index: 1;
  white-space: nowrap;
  text-transform: none;
  letter-spacing: 0;
  height: 48px;
  min-width: 100px;
  max-width: 200px;
}

.nested-summary-table tbody tr {
  transition: background-color 0.2s ease;
}

.nested-summary-table tbody tr:hover {
  background-color: #f9fafb;
}

.nested-summary-table tbody tr:last-child {
  border-bottom: 1px solid #f3f4f6;
}

/* Enable sticky/fixed first column styles */
.nested-summary-table th.fixed-col,
.nested-summary-table th:first-child {
  position: sticky;
  left: 0;
  z-index: 2;
  background: var(--secondary-black-darkest);
  color: var(--light);
  font-weight: 600;
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.04);
}

.nested-summary-table td.fixed-col,
.nested-summary-table td:first-child {
  position: sticky;
  left: 0;
  z-index: 1;
  background: #fff;
  color: #333;
  font-weight: 400;
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.04);
}

.nested-summary-table thead .icon_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 18px;
  margin-left: 0;
  gap: 1px;
  flex-shrink: 0;
  /* Override global icon_wrapper styles */
  width: auto !important;
  border-radius: 0 !important;
  background: transparent !important;
  overflow: visible !important;
}

.nested-summary-table thead .icon_wrapper .icon {
  font-size: 12px;
  color: #ffffff;
  opacity: 0.6;
  margin: 0;
  line-height: 1;
  transition: opacity 0.2s ease;
}

.nested-summary-table thead .icon_wrapper .icon.active {
  color: #ffffff;
  opacity: 1;
}

.nested-summary-table thead .th_wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  width: 100%;
  height: 100%;
}

.nested-summary-table thead .th_title {
  font-size: 13px;
  font-weight: 600;
  color: #ffffff;
  letter-spacing: 0;
  margin-bottom: 0;
  text-transform: none;
  display: flex;
  align-items: center;
  line-height: 1.2;
  cursor: pointer;
}

.nested-summary-table thead th,
.nested-summary-table thead th.fixed-col {
  background: var(--accent-gray-darkest) !important;
  color: #ffffff;
  font-weight: 600;
}

.nested-summary-table tbody tr:hover td,
.nested-summary-table tbody tr:hover td:first-child {
  background: #f8f9fa;
}

.nested-summary-table td.with-plus-icon {
  padding: 16px 12px;
  text-align: left;
  display: table-cell;
  background: #fff;
  color: #333;
  font-weight: 400;
  z-index: auto;
}

/* Hide plus/minus icons for flat design */
.nested-summary-table .datatable__plus-icon {
  display: none;
}

/* Remove all nested level colors for flat design */
.nested-summary-table .nested-row-level-2 td,
.nested-summary-table .nested-row-level-3 td,
.nested-summary-table .nested-row-level-4 td,
.nested-summary-table .nested-row-level-5 td,
.nested-summary-table .nested-row-level-6 td,
.nested-summary-table .nested-row-level-7 td {
  background: #fff !important;
  color: #333 !important;
}

/* ============= Custom column searchbar for header ============= */
.nested-summary-table .datatable-column-search-custom {
  display: none;
}

.nested-summary-table .datatable-column-search-custom-input {
  display: none;
}

.nested-summary-table .datatable-column-search-custom-input:focus {
  outline: none;
  border-color: rgba(255, 255, 255, 0.4);
  background: rgba(255, 255, 255, 0.2);
}

.nested-summary-table .datatable-search-icon-custom {
  color: #fff;
  opacity: 0.7;
  width: 14px;
  height: 14px;
  margin-left: 6px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.nested-summary-table .datatable-search-underline {
  width: 100%;
  height: 1px;
  background: #fff;
  border-radius: 1px;
  display: block;
  position: absolute;
  left: 0;
  bottom: 1px;
  z-index: 1;
  margin-left: 0;
  margin-right: 0;
}

/* Filter dropdown styles */
.filter-btn-dropdown-wrapper {
  position: relative;
}

.filter-btn {
  background: #007bff;
  color: white;
  border: none;
  padding: 8px 12px;
  border-radius: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
}

.filter-btn:hover {
  background: #0056b3;
}

.column-filter-dropdown {
  position: absolute;
  top: 100%;
  right: 0;
  background: white;
  border: 1px solid #ddd;
  border-radius: 4px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  width: 280px;
  z-index: 1000;
}

.column-filter-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px;
  border-bottom: 1px solid #eee;
  font-weight: 600;
}

.close-btn {
  background: none;
  border: none;
  font-size: 18px;
  cursor: pointer;
  color: #666;
}

.column-filter-search {
  width: 100%;
  padding: 8px 12px;
  border: none;
  border-bottom: 1px solid #eee;
  outline: none;
}

.column-filter-list {
  max-height: 200px;
  overflow-y: auto;
  padding: 8px 0;
}

.column-filter-label {
  display: flex;
  align-items: center;
  padding: 8px 12px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.column-filter-label:hover {
  background-color: #f8f9fa;
}

.column-filter-label input[type=checkbox] {
  display: none;
}

.custom-checkbox {
  width: 16px;
  height: 16px;
  border: 2px solid #ddd;
  border-radius: 2px;
  margin-right: 8px;
  position: relative;
  flex-shrink: 0;
}

.column-filter-label input[type=checkbox]:checked + .custom-checkbox {
  background-color: #007bff;
  border-color: #007bff;
}

.column-filter-label input[type=checkbox]:checked + .custom-checkbox::after {
  content: "✓";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: white;
  font-size: 12px;
  font-weight: bold;
}

.column-filter-actions {
  display: flex;
  justify-content: space-between;
  padding: 12px;
  border-top: 1px solid #eee;
}

.clear-btn,
.apply-btn {
  padding: 6px 16px;
  border: 1px solid #ddd;
  border-radius: 4px;
  cursor: pointer;
  background: white;
}

.apply-btn {
  background: #007bff;
  color: white;
  border-color: #007bff;
}

.clear-btn:hover {
  background: #f8f9fa;
}

.apply-btn:hover {
  background: #0056b3;
}

/* Grid and layout styles */
.grid {
  display: grid;
}

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

.col_span_4 {
  grid-column: span 4;
}

.col_span_2 {
  grid-column: span 2;
}

.fullpage_section_card {
  margin: 24px 0;
}

.section_card {
  background: white;
  border-radius: 12px;
  box-shadow: 0 2px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid #e9ecef;
}

.no_boxshadow {
  box-shadow: none;
  border: none;
}

.section_card_body {
  padding: 24px;
}

.section_card_header {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  margin-bottom: 0px;
  padding-bottom: 0px;
}

.section_info {
  flex: 1;
}

.section_card_title {
  font-size: 20px;
  font-weight: 600;
  color: #2d3748;
  margin: 0;
  letter-spacing: -0.025em;
  text-align: left;
}

.filters_wrapper {
  display: flex;
  align-items: center;
  gap: 12px;
}

.table_wrapper {
  margin: 0;
  border-radius: 8px;
  overflow: hidden;
}

.footer {
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid #e9ecef;
  align-items: center;
}

.info_text {
  display: flex;
  align-items: center;
  color: #666;
  font-size: 14px;
}

.info_text {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  color: #9ca3af;
  font-size: 13px;
  font-weight: 400;
  text-align: left;
}

.info_text {
  display: flex;
  align-items: center;
  color: #6c757d;
  font-size: 14px;
}

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

.flex {
  display: flex;
}

@media (max-width: 900px) {
  .nested-summary-table {
    min-width: 700px;
  }
  .nested-summary-table th,
  .nested-summary-table td {
    padding: 8px 6px;
    font-size: 12px;
    min-width: 80px;
    max-width: 150px;
  }
  .nested-summary-table thead th {
    padding: 8px 6px;
    font-size: 11px;
    min-width: 80px;
    max-width: 150px;
  }
  .section_card_body {
    padding: 16px;
  }
  .section_card_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
  }
  .filters_wrapper {
    width: 100%;
    justify-content: flex-end;
  }
}
@media (max-width: 480px) {
  .nested-summary-table {
    min-width: 600px;
  }
  .nested-summary-table th,
  .nested-summary-table td {
    padding: 6px 4px;
    font-size: 11px;
    min-width: 70px;
    max-width: 120px;
  }
  .nested-summary-table thead th {
    padding: 6px 4px;
    font-size: 10px;
    height: 40px;
    min-width: 70px;
    max-width: 120px;
  }
  .section_card_body {
    padding: 12px;
  }
}
/* Action buttons styles */
.action-buttons {
  display: flex;
  gap: 12px;
  justify-content: center;
  align-items: center;
}

.action-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 4px;
  border: none;
  background: transparent !important;
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 0;
}

.action-btn:hover {
  transform: scale(1.1);
  opacity: 0.8;
}

.action-btn:active {
  transform: scale(0.95);
}

.view-btn {
  color: #3b82f6 !important;
}

.edit-btn {
  color: #10b981 !important;
}

.delete-btn {
  color: #ef4444 !important;
}

/* Responsive action buttons */
@media (max-width: 768px) {
  .action-buttons {
    gap: 8px;
  }
  .action-btn {
    padding: 2px;
  }
}
/* Add Custom Column Button Styles - Matching the screenshot design */
.add-custom-column-btn {
  padding: 8px 12px;
  background: white;
  color: var(--secondary-black-light);
  border: 1px solid var(--secondary-black-light);
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 36px;
}
.add-custom-column-btn:hover {
  border-color: var(--primary-red-dark);
  background-color: var(--light);
  color: var(--primary-red-dark);
}.export-dropdown {
  position: relative;
  display: inline-block;
}
.export-dropdown .export-btn {
  background: transparent;
  border: none;
  padding: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #94a3b8;
  border-radius: 6px;
  transition: all 0.2s ease;
  width: auto;
  height: auto;
}
.export-dropdown .export-btn:hover {
  background: #f1f5f9;
  color: #64748b;
}
.export-dropdown .export-btn svg {
  color: #6e6e6e;
}
.export-dropdown .export-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  z-index: 1000;
  min-width: 160px;
  padding: 4px;
  animation: dropdownFadeIn 0.2s ease-out;
}
.export-dropdown .export-dropdown-menu .export-option {
  width: 100%;
  padding: 10px 12px;
  border: none;
  background: transparent;
  text-align: left;
  cursor: pointer;
  font-size: var(--font-size-small);
  color: var(--secondary-black-darkest);
  border-radius: 6px;
  transition: all 0.15s ease;
  font-weight: 400;
}
.export-dropdown .export-dropdown-menu .export-option:hover {
  background: var(--accent-light-gray-lightest);
  color: var(--primary-red-main);
}

@keyframes dropdownFadeIn {
  from {
    opacity: 0;
    transform: translateY(-8px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.export-click-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 999;
}.analysis-card-reusable {
  background: var(--light, #fff);
  border: 1px solid var(--gray300, #e5e7eb);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
  margin: 24px 0;
  width: 100%;
}

.analysis-card-reusable .analysis-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 18px;
}

.analysis-card-reusable .analysis-title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  line-height: 1.4;
}

.analysis-card-reusable .analysis-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}

.analysis-card-reusable .analysis-body {
  padding: 0px 18px;
  background: var(--light, #fff);
}

@media (max-width: 768px) {
  .analysis-card-reusable .analysis-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
  }
  .analysis-card-reusable .analysis-body {
    padding: 20px 24px;
  }
  .analysis-card-reusable .analysis-title {
    font-size: 1.1rem;
  }
}
@media (max-width: 480px) {
  .analysis-card-reusable .analysis-header {
    padding: 16px 12px;
  }
  .analysis-card-reusable .analysis-body {
    padding: 16px 12px;
  }
}.modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.add-custom-column-modal {
  background: white;
  border-radius: 8px;
  width: 95%;
  max-width: 1200px;
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);
}
.add-custom-column-modal .modal-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
}
.add-custom-column-modal .modal-header h3 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}
.add-custom-column-modal .modal-header .close-btn {
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s;
}
.add-custom-column-modal .modal-header .close-btn:hover {
  color: #374151;
  background: #f3f4f6;
}
.add-custom-column-modal .modal-body {
  padding: 24px;
  max-height: 60vh;
  overflow-y: auto;
}
.add-custom-column-modal .modal-body .column-form-row {
  position: relative;
  margin-bottom: 20px;
  padding: 20px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: #f9fafb;
}
.add-custom-column-modal .modal-body .column-form-row:last-child {
  margin-bottom: 0;
}
.add-custom-column-modal .modal-body .form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 16px;
  align-items: end;
}
.add-custom-column-modal .modal-body .form-grid .form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.add-custom-column-modal .modal-body .form-grid .form-group label {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 2px;
  text-align: left;
}
.add-custom-column-modal .modal-body .form-grid .form-group input,
.add-custom-column-modal .modal-body .form-grid .form-group select {
  padding: 10px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  color: #1f2937;
  background: white;
  transition: all 0.2s;
}
.add-custom-column-modal .modal-body .form-grid .form-group input:focus,
.add-custom-column-modal .modal-body .form-grid .form-group select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.add-custom-column-modal .modal-body .form-grid .form-group input::placeholder,
.add-custom-column-modal .modal-body .form-grid .form-group select::placeholder {
  color: #9ca3af;
}
.add-custom-column-modal .modal-body .form-grid .form-group select {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 8px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 32px;
}
.add-custom-column-modal .modal-body .form-grid .form-group select option {
  padding: 8px;
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group {
  grid-column: span 3;
  justify-self: center;
  width: 100%;
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .action-buttons {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .remove-column-btn {
  margin-left: auto;
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .remove-column-btn {
  color: white;
  border: none;
  border-radius: 50%;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .remove-column-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .remove-column-btn:active {
  transform: scale(0.95);
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .remove-column-btn {
  background: #ef4444;
}
.add-custom-column-modal .modal-body .form-grid .form-group.action-group .remove-column-btn:hover {
  background: #dc2626;
}
.add-custom-column-modal .modal-footer {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding: 20px 24px;
  border-top: 1px solid #e5e7eb;
  background: #f9fafb;
  border-radius: 0 0 8px 8px;
}
.add-custom-column-modal .modal-footer button {
  padding: 10px 20px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s;
  border: 1px solid transparent;
}
.add-custom-column-modal .modal-footer button.cancel-btn {
  background: white;
  color: #374151;
  border-color: #d1d5db;
}
.add-custom-column-modal .modal-footer button.cancel-btn:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}
.add-custom-column-modal .modal-footer button.apply-column-btn {
  background: var(--secondary-color);
  color: var(--light);
  border-color: var(--secondary-color);
}
.add-custom-column-modal .modal-footer button.apply-column-btn:hover {
  background: var(--primary-red-main);
  border-color: var(--primary-red-main);
}

.remove-column-outside {
  display: flex;
  align-items: center;
  gap: 5px;
  margin-left: auto;
}

.remove-text {
  font-size: 14px;
  font-weight: 500;
  color: #ef4444;
  cursor: pointer;
}

.remove-text:hover {
  text-decoration: underline;
}

.add-column-outside {
  display: flex;
  align-items: center;
  gap: 5px;
}

.add-text {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  cursor: pointer;
}

.add-column-btn {
  color: white;
  border: none;
  border-radius: 50%;
  padding: 0px 3px;
  min-width: 20px;
  min-height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background: var(--secondary-color);
}
.add-column-btn:hover {
  transform: scale(1.05);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
  background: var(--primary-red-main);
}
.add-column-btn:active {
  transform: scale(0.95);
}

@media (max-width: 768px) {
  .add-custom-column-modal {
    width: 95%;
    margin: 20px;
  }
  .add-custom-column-modal .modal-body .form-grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
  .add-custom-column-modal .modal-body .form-grid .form-group.action-group {
    grid-column: span 1;
    justify-self: center;
  }
  .add-custom-column-modal .modal-body .column-form-row {
    padding: 16px;
  }
  .add-custom-column-modal .modal-header,
  .add-custom-column-modal .modal-body,
  .add-custom-column-modal .modal-footer {
    padding: 16px;
  }
  .add-custom-column-modal .modal-footer {
    flex-direction: column-reverse;
  }
  .add-custom-column-modal .modal-footer button {
    width: 100%;
  }
}
@media (max-width: 1024px) {
  .add-custom-column-modal .modal-body .form-grid {
    grid-template-columns: 1fr 1fr;
  }
  .add-custom-column-modal .modal-body .form-grid .form-group.action-group {
    grid-column: span 2;
    justify-self: center;
  }
}.deleted-data-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 2000;
  animation: fadeIn 0.2s ease-in;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.deleted-data-modal {
  background: white;
  border-radius: 12px;
  width: 90%;
  max-width: 800px;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  animation: slideUp 0.3s ease-out;
  border: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
}

@keyframes slideUp {
  from {
    transform: translateY(20px);
    opacity: 0;
  }
  to {
    transform: translateY(0);
    opacity: 1;
  }
}
.deleted-data-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
}
.deleted-data-header .header-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.deleted-data-header .header-title svg {
  color: #ef4444;
}
.deleted-data-header .header-title h2 {
  margin: 0;
  font-size: 20px;
  font-weight: 600;
  color: #111827;
}
.deleted-data-header .header-title .deleted-count {
  font-size: 14px;
  color: #6b7280;
  font-weight: 400;
}
.deleted-data-header .close-btn {
  background: transparent;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 8px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
}
.deleted-data-header .close-btn:hover {
  background-color: #f3f4f6;
  color: #111827;
}

.deleted-data-body {
  flex: 1;
  overflow-y: auto;
  padding: 20px 24px;
}
.deleted-data-body .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  color: #9ca3af;
}
.deleted-data-body .empty-state svg {
  margin-bottom: 16px;
}
.deleted-data-body .empty-state p {
  margin: 0;
  font-size: 16px;
}
.deleted-data-body .deleted-items-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.deleted-data-body .deleted-item-card {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 16px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  transition: all 0.2s;
}
.deleted-data-body .deleted-item-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border-color: #d1d5db;
}
.deleted-data-body .deleted-item-card .item-info {
  flex: 1;
}
.deleted-data-body .deleted-item-card .item-info .item-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}
.deleted-data-body .deleted-item-card .item-info .item-header .item-label {
  font-size: 12px;
  color: #6b7280;
  font-weight: 500;
}
.deleted-data-body .deleted-item-card .item-info .item-header .item-value {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
}
.deleted-data-body .deleted-item-card .item-info .item-details {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
  gap: 8px;
}
.deleted-data-body .deleted-item-card .item-info .item-details .detail-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.deleted-data-body .deleted-item-card .item-info .item-details .detail-row .detail-label {
  font-size: 13px;
  color: #6b7280;
}
.deleted-data-body .deleted-item-card .item-info .item-details .detail-row .detail-value {
  font-size: 13px;
  color: #374151;
  font-weight: 500;
}
.deleted-data-body .deleted-item-card .restore-btn {
  background: #10b981;
  color: white;
  border: none;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 8px;
  transition: all 0.2s;
  white-space: nowrap;
}
.deleted-data-body .deleted-item-card .restore-btn:hover {
  background: #059669;
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(16, 185, 129, 0.3);
}
.deleted-data-body .deleted-item-card .restore-btn:active {
  transform: translateY(0);
}.growth-analysis .success-alert {
  position: relative;
  width: 100%;
  background: #dcfce7;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  animation: slideDown 0.3s ease-out;
}
.growth-analysis .success-alert .alert-content {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 300px;
}
.growth-analysis .success-alert .alert-content .alert-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  background: #22c55e;
  color: white;
  border-radius: 50%;
  flex-shrink: 0;
}
.growth-analysis .success-alert .alert-content .alert-message {
  flex: 1;
  color: #166534;
  font-size: 14px;
  font-weight: 500;
  margin: 0;
  text-align: left;
}
.growth-analysis .success-alert .alert-content .alert-close {
  background: none;
  border: none;
  color: #166534;
  cursor: pointer;
  padding: 2px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s;
  flex-shrink: 0;
}
.growth-analysis .success-alert .alert-content .alert-close:hover {
  background: #bbf7d0;
  color: #15803d;
}
.growth-analysis .inline-edit-input,
.growth-analysis .inline-edit-select {
  width: 100%;
  padding: 6px 10px;
  border: 2px solid #3b82f6;
  border-radius: 6px;
  font-size: 14px;
  background: white;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(59, 130, 246, 0.1);
}
.growth-analysis .inline-edit-input:focus,
.growth-analysis .inline-edit-select:focus {
  outline: none;
  border-color: #2563eb;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.2);
}
.growth-analysis .inline-edit-input:hover,
.growth-analysis .inline-edit-select:hover {
  border-color: #2563eb;
}
.growth-analysis .inline-edit-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 8px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 32px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.growth-analysis .action-buttons .action-btn {
  transition: all 0.2s ease;
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}
.growth-analysis .action-buttons .action-btn:hover {
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.growth-analysis .action-buttons .action-btn.view-btn {
  color: #3b82f6;
}
.growth-analysis .action-buttons .action-btn.view-btn:hover {
  background: rgba(59, 130, 246, 0.1);
}
.growth-analysis .action-buttons .action-btn.edit-btn {
  color: #10b981;
}
.growth-analysis .action-buttons .action-btn.edit-btn:hover {
  background: rgba(16, 185, 129, 0.1);
}
.growth-analysis .action-buttons .action-btn.delete-btn {
  color: #ef4444;
}
.growth-analysis .action-buttons .action-btn.delete-btn:hover {
  background: rgba(239, 68, 68, 0.1);
}
.growth-analysis .action-buttons .action-btn.save-btn {
  background: #10b981 !important;
  color: white !important;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.growth-analysis .action-buttons .action-btn.save-btn:hover {
  background: #059669 !important;
}
.growth-analysis .action-buttons .action-btn.cancel-btn {
  background: #6b7280 !important;
  color: white !important;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
}
.growth-analysis .action-buttons .action-btn.cancel-btn:hover {
  background: #4b5563 !important;
}
@keyframes slideDown {
  from {
    opacity: 0;
    transform: translateY(-20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.growth-analysis .success-alert {
  animation: slideDown 0.3s ease-out, fadeOut 0.3s ease-in 4.7s forwards;
}
@keyframes fadeOut {
  from {
    opacity: 1;
  }
  to {
    opacity: 0;
  }
}

.deleted-data-button-container {
  margin-top: 16px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
}
.deleted-data-button-container .deleted-data-button {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background-color: #ef4444;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2);
}
.deleted-data-button-container .deleted-data-button:hover {
  background-color: #dc2626;
  box-shadow: 0 4px 6px rgba(239, 68, 68, 0.3);
  transform: translateY(-1px);
}
.deleted-data-button-container .deleted-data-button:active {
  transform: translateY(0);
  box-shadow: 0 2px 4px rgba(239, 68, 68, 0.2);
}/* ECharts Sales Growth Chart Styles */
.echarts-container {
  width: 100%;
  height: 400px;
  min-height: 400px;
  background: #ffffff;
  border-radius: 8px;
  padding: 0;
  overflow: hidden;
}

/* Container for the ECharts instance */
.echarts-container > div {
  width: 100% !important;
  height: 100% !important;
}

/* Responsive behavior */
@media (max-width: 768px) {
  .echarts-container {
    height: 300px;
    min-height: 300px;
  }
}
@media (max-width: 480px) {
  .echarts-container {
    height: 250px;
    min-height: 250px;
  }
}/* Reusable Dropdown Component */
.dropdown-container {
  width: 100%;
  margin-bottom: 0;
  font-family: var(--font-family-primary);
}

.dropdown-label {
  display: block;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
  color: var(--info-blue-dark);
  margin-bottom: 0.5rem;
  text-align: left;
}

.dropdown {
  position: relative;
  display: block;
  width: 100%;
}
.dropdown .dropdown-trigger {
  background: var(--light);
  border: 1px solid var(--accent-light-gray-dark);
  border-radius: 0.375rem;
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
  min-height: 2.25rem;
  transition: all 0.15s ease;
  font-size: var(--font-size-small);
  box-sizing: border-box;
}
.dropdown .dropdown-trigger:hover {
  border-color: var(--primary-red-main);
}
.dropdown .dropdown-trigger:focus, .dropdown .dropdown-trigger.open {
  outline: none;
  border-color: var(--primary-red-main);
  box-shadow: 0 0 0 3px rgba(211, 31, 31, 0.1);
}
.dropdown .dropdown-trigger .dropdown-value {
  font-size: var(--font-size-small);
  color: var(--secondary-black-darkest);
  font-weight: var(--font-weight400);
  flex: 1;
  text-align: left;
}
.dropdown .dropdown-trigger .dropdown-arrow {
  display: flex;
  align-items: center;
  color: var(--text-secondary);
  transition: transform 0.15s ease;
  margin-left: 0.5rem;
}
.dropdown .dropdown-trigger .dropdown-arrow.open {
  transform: rotate(180deg);
}
.dropdown .dropdown-trigger .dropdown-arrow svg {
  width: 0.75rem;
  height: 0.75rem;
}
.dropdown .dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: var(--light);
  border: 1px solid var(--border-color);
  border-radius: 0.375rem;
  box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.1);
  z-index: 1000;
  margin-top: 0.25rem;
  max-height: 12.5rem;
  overflow-y: auto;
}
.dropdown .dropdown-menu .dropdown-option {
  padding: 0.5rem 0.75rem;
  cursor: pointer;
  transition: background 0.15s ease;
  font-size: var(--font-size-small);
  color: var(--secondary-black-darkest);
  text-align: left;
  text-transform: capitalize;
}
.dropdown .dropdown-menu .dropdown-option:hover {
  background: var(--secondary-red-hover200);
  color: var(--primary-red-main);
}
.dropdown .dropdown-menu .dropdown-option.selected {
  font-weight: var(--font-weight500);
}
.dropdown .dropdown-menu .dropdown-option:first-child {
  border-top-left-radius: 0.375rem;
  border-top-right-radius: 0.375rem;
}
.dropdown .dropdown-menu .dropdown-option:last-child {
  border-bottom-left-radius: 0.375rem;
  border-bottom-right-radius: 0.375rem;
}

/* Custom styling for timeframe dropdown */
.timeframe-dropdown {
  min-width: 7.5rem;
}
.timeframe-dropdown .dropdown-trigger .dropdown-value {
  color: var(--dark);
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .dropdown-container .dropdown .dropdown-trigger {
    padding: 0.625rem 0.75rem;
    min-height: 2.5rem;
  }
}
@media (max-width: 480px) {
  .dropdown-container .dropdown .dropdown-trigger {
    padding: 0.5rem 0.625rem;
    font-size: 0.8125rem;
  }
  .dropdown-container .dropdown .dropdown-menu .dropdown-option {
    padding: 0.625rem 0.75rem;
    font-size: 0.8125rem;
  }
}
/* Clean styling */
.dropdown-container {
  box-sizing: border-box;
}
.dropdown-container *,
.dropdown-container *::before,
.dropdown-container *::after {
  box-sizing: inherit;
}/* Sales Growth Analysis Reusable Component */
.sales-growth-analysis {
  width: 100%;
  margin: 24px 0;
  font-family: "Ubuntu", sans-serif;
}
.sales-growth-analysis .analysis-card {
  background: var(--light);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  overflow: hidden;
}
.sales-growth-analysis .analysis-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 14px 18px;
  background: var(--light);
}
@media (max-width: 768px) {
  .sales-growth-analysis .analysis-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    padding: 20px 24px;
  }
}
.sales-growth-analysis .analysis-title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  line-height: 1.4;
}
@media (max-width: 768px) {
  .sales-growth-analysis .analysis-title {
    font-size: var(--h5-font-size);
  }
}
.sales-growth-analysis .analysis-controls {
  display: flex;
  align-items: center;
  gap: 12px;
}
@media (max-width: 768px) {
  .sales-growth-analysis .analysis-controls {
    width: 100%;
    justify-content: flex-start;
  }
}
@media (max-width: 480px) {
  .sales-growth-analysis .analysis-controls {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
}
.sales-growth-analysis .discover-now-btn {
  padding: 8px 12px;
  background: var(--light);
  color: var(--secondary-black-light);
  border: 1px solid var(--secondary-black-light);
  border-radius: 6px;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: inherit;
  white-space: nowrap;
  min-height: 36px;
}
.sales-growth-analysis .discover-now-btn:hover {
  background: var(--primary-red-main);
  color: var(--light);
  border: 1px solid var(--primary-red-main);
}
.sales-growth-analysis .discover-now-btn .discover-icon {
  font-size: var(--font-size-small);
  display: flex;
  align-items: center;
}
.sales-growth-analysis .timeframe-dropdown-wrapper {
  position: relative;
}
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown {
  min-width: 120px;
  /* Custom dropdown styling to match screenshot */
}
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown select,
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown .dropdown-trigger,
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown .dropdown-select {
  background: var(--light);
  border: 1px solid var(--gray400);
  border-radius: 6px;
  padding: 8px 12px;
  font-size: var(--font-size-small);
  color: var(--gray700);
  cursor: pointer;
  transition: all 0.15s ease;
  font-family: inherit;
  min-height: 36px;
  display: flex;
  align-items: center;
}
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown select:hover,
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown .dropdown-trigger:hover,
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown .dropdown-select:hover {
  border-color: var(--gray500);
}
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown select:focus,
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown .dropdown-trigger:focus,
.sales-growth-analysis .timeframe-dropdown-wrapper .timeframe-dropdown .dropdown-select:focus {
  outline: none;
  border-color: var(--primary500);
  box-shadow: 0 0 0 3px var(--primary-hover200);
}
.sales-growth-analysis .analysis-body {
  padding: 0;
  background: var(--light);
}
.sales-growth-analysis .echarts-container {
  padding: 12px 16px;
}
@media (max-width: 768px) {
  .sales-growth-analysis .echarts-container {
    padding: 20px 24px 28px;
  }
}
@media (max-width: 480px) {
  .sales-growth-analysis .echarts-container {
    padding: 16px 20px 24px;
  }
}

/* Responsive design adjustments */
@media (max-width: 1024px) {
  .sales-growth-analysis {
    margin: 20px 0;
  }
  .sales-growth-analysis .analysis-header {
    padding: 20px 24px;
  }
  .sales-growth-analysis .echarts-container {
    padding: 20px 24px 28px;
  }
}
@media (max-width: 640px) {
  .sales-growth-analysis {
    margin: 16px 0;
  }
  .sales-growth-analysis .analysis-card {
    border-radius: 6px;
  }
  .sales-growth-analysis .analysis-header {
    padding: 16px 20px;
  }
  .sales-growth-analysis .analysis-title {
    font-size: 16px;
  }
  .sales-growth-analysis .discover-now-btn {
    font-size: 13px;
    padding: 7px 14px;
  }
  .sales-growth-analysis .amchart-container {
    padding: 16px 20px 24px;
  }
}
/* Clean modern styling to match screenshot */
.sales-growth-analysis {
  box-sizing: border-box;
}
.sales-growth-analysis *,
.sales-growth-analysis *::before,
.sales-growth-analysis *::after {
  box-sizing: inherit;
}/* Reusable KPI Card Component */
.kpi-card {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  min-height: 340px;
  cursor: pointer;
  min-width: 320px;
  flex-shrink: 0;
}
@media (min-width: 1200px) {
  .kpi-card {
    min-width: auto;
    flex-shrink: 1;
    min-height: 360px;
  }
}
.kpi-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
}
.kpi-card.selected {
  border-color: #3B82F6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}
.kpi-card .kpi-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.kpi-card .kpi-header .metric-info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}
.kpi-card .kpi-header .metric-info .metric-name {
  font-size: 13px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  color: #6B7280;
  margin: 0;
  display: flex;
  align-items: center;
  gap: 8px;
}
.kpi-card .kpi-header .metric-info .metric-icon {
  font-size: 14px;
  opacity: 0.7;
}
.kpi-card .kpi-header .action-button {
  background: #E0F2FE;
  border: none;
  border-radius: 6px;
  padding: 6px 12px;
  font-size: 11px;
  font-weight: 500;
  color: #0891B2;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 4px;
  transition: all 0.2s;
  flex-shrink: 0;
  white-space: nowrap;
}
.kpi-card .kpi-header .action-button:hover {
  background: #BAE6FD;
}
.kpi-card .kpi-header .action-button.reveal {
  background: #E0F2FE;
  color: #0891B2;
}
.kpi-card .kpi-header .action-button.reveal:hover {
  background: #BAE6FD;
}
.kpi-card .kpi-header .action-button.discover {
  background: #E0F2FE;
  color: #0891B2;
}
.kpi-card .kpi-header .action-button.discover:hover {
  background: #BAE6FD;
}
.kpi-card .kpi-header .action-button.curious {
  background: #E0F2FE;
  color: #0891B2;
}
.kpi-card .kpi-header .action-button.curious:hover {
  background: #BAE6FD;
}
.kpi-card .kpi-header .action-button .action-icon {
  font-size: 11px;
  color: #0891B2;
}
.kpi-card .metric-main-value {
  font-size: var(--font-size-xlarge-2);
  font-weight: 700;
  color: #111827;
  margin-bottom: 4px;
  line-height: 1.1;
  display: flex;
  align-items: baseline;
  gap: 2px;
}
.kpi-card .metric-main-value .previous-value {
  font-size: 18px;
  color: #6B7280;
  font-weight: 400;
}
.kpi-card .percentage-change {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 16px;
  font-size: 14px;
  font-weight: 600;
}
.kpi-card .percentage-change.positive {
  color: #10B981;
}
.kpi-card .percentage-change.negative {
  color: #EF4444;
}
.kpi-card .percentage-change .change-arrow {
  font-size: 12px;
}
.kpi-card .percentage-change .change-value {
  font-weight: 600;
}
.kpi-card .kpi-chart {
  flex: 1;
  margin-bottom: 16px;
  min-height: 140px;
  display: flex;
  align-items: stretch;
  background: transparent;
  position: relative;
  /* Ensure chart fills the entire space */
  /* Force hide any visible axis elements */
  /* Hide tooltip and ensure clean chart */
  /* Ensure only the series (line/area) is visible */
}
.kpi-card .kpi-chart > div {
  width: 100% !important;
  height: 100% !important;
}
.kpi-card .kpi-chart canvas,
.kpi-card .kpi-chart svg {
  width: 100% !important;
  height: 100% !important;
}
.kpi-card .kpi-chart .am5-axis,
.kpi-card .kpi-chart .am5-axis-label,
.kpi-card .kpi-chart .am5-grid-line,
.kpi-card .kpi-chart .am5-axis-grid,
.kpi-card .kpi-chart .am5-axis-tick,
.kpi-card .kpi-chart .am5-grid,
.kpi-card .kpi-chart .am5-axis-renderer,
.kpi-card .kpi-chart [role=img] .am5-axis,
.kpi-card .kpi-chart [role=img] .am5-grid {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
}
.kpi-card .kpi-chart .am5-tooltip-container,
.kpi-card .kpi-chart .am5-tooltip,
.kpi-card .kpi-chart .am5-axis-header {
  display: none !important;
}
.kpi-card .kpi-chart .am5-series,
.kpi-card .kpi-chart .am5-line-series,
.kpi-card .kpi-chart .am5-graphics {
  display: block !important;
}
.kpi-card .trend-description {
  margin-top: auto;
  padding-top: 16px;
  border-top: 1px solid #F1F5F9;
}
.kpi-card .trend-description p {
  font-size: 13px;
  color: #6B7280;
  margin: 0;
  line-height: 1.4;
  font-weight: 400;
}

/* Responsive Design */
@media (max-width: 576px) {
  .kpi-card {
    min-height: 280px;
    padding: 16px;
  }
  .kpi-card .metric-main-value {
    font-size: 28px;
  }
  .kpi-card .metric-name {
    font-size: 12px;
  }
  .kpi-card .kpi-chart {
    min-height: 100px;
  }
  .kpi-card .trend-description p {
    font-size: 12px;
  }
}.kpi-card-grid {
  display: flex;
  gap: 20px;
  overflow-x: auto;
  padding: 20px 0;
  cursor: grab;
  scroll-behavior: smooth;
  /* Custom scrollbar */
  /* Responsive grid breakpoint */
}
.kpi-card-grid::-webkit-scrollbar {
  height: 8px;
}
.kpi-card-grid::-webkit-scrollbar-track {
  background: #f0f2f5;
  border-radius: 10px;
}
.kpi-card-grid::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 10px;
  transition: background 0.3s ease;
}
.kpi-card-grid::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}
.kpi-card-grid:active {
  cursor: grabbing;
}
@media (min-width: 1200px) {
  .kpi-card-grid {
    display: grid;
    grid-template-columns: repeat(var(--grid-columns, 3), 1fr);
    overflow-x: visible;
    cursor: default;
  }
}
@media (max-width: 768px) {
  .kpi-card-grid {
    gap: 15px;
    padding: 15px 0;
  }
}

/* Prevent text selection during drag */
.kpi-card-grid:active * {
  user-select: none;
}/* KPI Metrics Container */
/* Analysis Summary */
.analysis-summary {
  margin-bottom: 24px;
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 8px;
  padding: 20px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}

.analysis-title {
  font-size: 18px;
  font-weight: 700;
  color: #213345;
  margin: 0 0 12px 0;
  line-height: 1.2;
}

.analysis-description {
  font-size: 14px;
  color: #6B7280;
  margin: 0;
  line-height: 1.5;
}

/* KPI Tabs */
.kpi-tabs {
  display: flex;
  gap: 2px;
  margin-bottom: 24px;
  border-bottom: 1px solid #E5E7EB;
}

.kpi-tab {
  background: none;
  border: none;
  padding: 12px 24px;
  font-size: 14px;
  font-weight: 500;
  color: #6B7280;
  cursor: pointer;
  border-radius: 8px 8px 0 0;
  transition: all 0.2s ease;
}
.kpi-tab:hover {
  background: #F9FAFB;
  color: #374151;
}
.kpi-tab.active {
  background: #ffffff;
  color: #213345;
  border-bottom: 2px solid #0EA5E9;
  font-weight: 600;
}

/* Main KPI Grid */
.main-kpi-grid {
  margin-bottom: 24px;
}

/* Data Quality Insights - Trend Analysis */
.data-quality-insights {
  background: #ffffff;
  border: 1px solid #E5E7EB;
  border-radius: 12px;
  padding: 24px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  margin-top: 24px;
}

.insights-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 24px;
  flex-wrap: wrap;
  gap: 16px;
}

.insights-title {
  font-size: 18px;
  font-weight: 700;
  color: #213345;
  margin: 0;
  line-height: 1.2;
}

.insights-controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.time-period-selector {
  padding: 8px 16px;
  border: 1px solid #D1D5DB;
  border-radius: 8px;
  font-size: 14px;
  color: #374151;
  background: #ffffff;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.time-period-selector:focus {
  outline: none;
  border-color: #3B82F6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.time-period-selector:hover {
  border-color: #9CA3AF;
}

.insights-chart {
  height: 400px;
  border-radius: 8px;
  overflow: hidden;
  background: #FAFAFA;
  padding: 16px;
}
@media (max-width: 768px) {
  .insights-chart {
    height: 300px;
    padding: 12px;
  }
}

/* Responsive Design */
@media (max-width: 768px) {
  .kpi-metrics-container {
    padding: 16px;
    margin-bottom: 16px;
  }
  .analysis-summary {
    padding: 16px;
    margin-bottom: 16px;
  }
  .insights-header {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .insights-title {
    font-size: 16px;
  }
  .data-quality-insights {
    padding: 16px;
    margin-top: 16px;
  }
  .kpi-tabs {
    margin-bottom: 16px;
  }
  .kpi-tab {
    padding: 10px 16px;
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  .kpi-metrics-container {
    padding: 12px;
  }
  .analysis-summary {
    padding: 12px;
  }
  .data-quality-insights {
    padding: 12px;
  }
}.preview-data-analysis .success-alert {
  background: #d1fae5;
  border: 1px solid #10b981;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 20px;
}
.preview-data-analysis .success-alert .alert-content {
  display: flex;
  align-items: center;
  gap: 12px;
}
.preview-data-analysis .success-alert .alert-content .alert-icon {
  color: #10b981;
  display: flex;
  align-items: center;
}
.preview-data-analysis .success-alert .alert-content .alert-message {
  color: #065f46;
  font-weight: 500;
  flex: 1;
}
.preview-data-analysis .success-alert .alert-content .alert-close {
  background: none;
  border: none;
  color: #10b981;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.preview-data-analysis .success-alert .alert-content .alert-close:hover {
  background-color: rgba(16, 185, 129, 0.1);
}
.preview-data-analysis .inline-edit-input,
.preview-data-analysis .inline-edit-select {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  font-size: 14px;
}
.preview-data-analysis .inline-edit-input:focus,
.preview-data-analysis .inline-edit-select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.preview-data-analysis .inline-edit-select {
  background-color: white;
}
.preview-data-analysis .action-buttons {
  display: flex !important;
  gap: 8px !important;
  justify-content: center !important;
  align-items: center !important;
  min-height: 32px !important;
}
.preview-data-analysis .action-buttons .action-btn {
  padding: 6px 12px !important;
  border: none !important;
  border-radius: 4px !important;
  cursor: pointer !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  transition: all 0.2s !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 60px !important;
  min-height: 28px !important;
}
.preview-data-analysis .action-buttons .action-btn.save-btn {
  background-color: #10b981 !important;
  color: white !important;
}
.preview-data-analysis .action-buttons .action-btn.save-btn:hover {
  background-color: #059669 !important;
}
.preview-data-analysis .action-buttons .action-btn.cancel-btn {
  background-color: #6b7280 !important;
  color: white !important;
}
.preview-data-analysis .action-buttons .action-btn.cancel-btn:hover {
  background-color: #4b5563 !important;
}
.preview-data-analysis .action-buttons .action-btn.view-btn {
  background: transparent !important;
  color: #3b82f6 !important;
  border: none !important;
  padding: 4px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: auto !important;
}
.preview-data-analysis .action-buttons .action-btn.view-btn:hover {
  background-color: rgba(59, 130, 246, 0.1) !important;
  border-radius: 4px !important;
}
.preview-data-analysis .action-buttons .action-btn.edit-btn {
  background: transparent !important;
  color: #10b981 !important;
  border: none !important;
  padding: 4px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: auto !important;
}
.preview-data-analysis .action-buttons .action-btn.edit-btn:hover {
  background-color: rgba(16, 185, 129, 0.1) !important;
  border-radius: 4px !important;
}
.preview-data-analysis .action-buttons .action-btn.delete-btn {
  background: transparent !important;
  color: #ef4444 !important;
  border: none !important;
  padding: 4px !important;
  cursor: pointer !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: auto !important;
  min-height: auto !important;
}
.preview-data-analysis .action-buttons .action-btn.delete-btn:hover {
  background-color: rgba(239, 68, 68, 0.1) !important;
  border-radius: 4px !important;
}.answer_header {
  display: flex;
  align-items: center;
  gap: 10px;
  font-weight: 400;
  line-height: 100%;
  font-size: 12px;
  margin-bottom: 10px;
}
.answer_header .answer_block {
  background-color: white;
  color: var(--secondary-black-light);
  border: 1px solid var(--secondary-black-light);
  border-radius: 12px;
  width: 60px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.answer_header .answer_date {
  color: #6A89A7;
}

.answer_icons {
  display: flex;
  align-items: center;
  gap: 20px;
  padding: 20px;
  position: relative;
  z-index: 10;
}

.answer-summary {
  display: flex;
  align-items: start;
  flex-direction: column;
  gap: 10px;
  text-align: left;
  padding: 0 20px;
  margin-bottom: 12px;
}
.answer-summary h4 {
  color: var(--accent-gray-darkest);
  font-weight: 700;
  font-size: 14px;
}
.answer-summary p {
  padding: 0;
}
.answer-summary ol,
.answer-summary ul {
  padding: 0 20px;
}
.answer-summary li {
  color: var(--accent-gray-darkest);
  font-weight: 500;
  font-size: 14px;
  letter-spacing: 0;
}
.answer-summary pre {
  text-wrap: wrap;
}.source-button {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 14px;
  background: #1f2937;
  border: none;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: 13px;
  color: #ffffff;
  font-weight: 500;
}
.source-button:hover:not(:disabled) {
  background: #374151;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.source-button:active:not(:disabled) {
  transform: translateY(0);
}
.source-button:disabled {
  opacity: 0.5;
  cursor: not-allowed;
  background: #9ca3af;
}
.source-button .source-icon {
  width: 14px;
  height: 14px;
  color: #ffffff;
}
.source-button .source-icon path {
  stroke: #ffffff;
}
.source-button .source-count {
  font-weight: 500;
  color: #ffffff;
}
.source-button .source-count-loading {
  font-weight: 500;
  color: rgba(255, 255, 255, 0.7);
}.typing-loader {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.typing-loader .typing-container {
  display: flex;
  align-items: center;
  gap: 8px;
}
.typing-loader .typing-dots {
  display: flex;
  align-items: center;
  gap: 4px;
}
.typing-loader .typing-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background-color: #6B7280;
  animation: typingBounce 1.4s infinite ease-in-out;
}
.typing-loader .typing-dot:nth-child(1) {
  animation-delay: -0.32s;
}
.typing-loader .typing-dot:nth-child(2) {
  animation-delay: -0.16s;
}
.typing-loader .typing-dot:nth-child(3) {
  animation-delay: 0s;
}
.typing-loader .typing-message {
  font-size: 12px;
  color: #6B7280;
  font-weight: 500;
  margin-left: 4px;
}
.typing-loader.small .typing-dot {
  width: 4px;
  height: 4px;
}
.typing-loader.small .typing-message {
  font-size: 10px;
}
.typing-loader.medium .typing-dot {
  width: 6px;
  height: 6px;
}
.typing-loader.medium .typing-message {
  font-size: 12px;
}
.typing-loader.large .typing-dot {
  width: 8px;
  height: 8px;
  gap: 6px;
}
.typing-loader.large .typing-message {
  font-size: 14px;
}

@keyframes typingBounce {
  0%, 80%, 100% {
    transform: scale(0.8);
    opacity: 0.5;
  }
  40% {
    transform: scale(1);
    opacity: 1;
  }
}
@keyframes typingPulse {
  0%, 100% {
    opacity: 0.3;
    transform: scale(0.8);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}
@keyframes typingWave {
  0%, 60%, 100% {
    transform: translateY(0);
    opacity: 0.4;
  }
  30% {
    transform: translateY(-8px);
    opacity: 1;
  }
}
.typing-loader.button-loader .typing-dots {
  gap: 3px;
}
.typing-loader.button-loader .typing-dot {
  width: 5px;
  height: 5px;
  background-color: currentColor;
}
.typing-loader.button-loader .typing-message {
  color: currentColor;
  font-size: 11px;
  margin-left: 6px;
}

.icon-wrapper.regenerating .typing-loader .typing-dot {
  background-color: #6B7280;
}
.icon-wrapper.regenerating .typing-loader .typing-message {
  color: #6B7280;
}

.regenerating-loader .typing-dot {
  animation: typingBounce 1.2s infinite ease-in-out;
  background-color: #3B82F6 !important;
}
.regenerating-loader .typing-dot:nth-child(1) {
  animation-delay: -0.24s;
}
.regenerating-loader .typing-dot:nth-child(2) {
  animation-delay: -0.12s;
}
.regenerating-loader .typing-dot:nth-child(3) {
  animation-delay: 0s;
}
.regenerating-loader .typing-message {
  color: #3B82F6;
}.regenerating-indicator {
  padding: 16px 20px;
  border: 1px solid rgba(59, 130, 246, 0.15);
  border-radius: 8px;
  margin: 10px 0 20px 0;
  animation: slideIn 0.3s ease-out;
  position: relative;
  overflow: hidden;
  background: linear-gradient(90deg, rgba(59, 130, 246, 0.05) 0%, rgba(59, 130, 246, 0.08) 50%, rgba(59, 130, 246, 0.05) 100%);
}
.regenerating-indicator::before {
  content: "";
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.1), transparent);
  animation: shimmer 2s infinite;
}
.regenerating-indicator .regenerating-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
}
.regenerating-indicator .regenerating-header .regenerating-avatar {
  width: 24px;
  height: 24px;
  flex-shrink: 0;
  border-radius: 50%;
}
.regenerating-indicator .regenerating-header .regenerating-content {
  flex: 1;
  display: flex;
  align-items: center;
}
.regenerating-indicator .regenerating-header .regenerating-content .regenerating-loader .typing-dot {
  background-color: #3b82f6 !important;
}
.regenerating-indicator .regenerating-header .regenerating-content .regenerating-loader .typing-message {
  color: #3b82f6;
  font-weight: 500;
}

@keyframes slideIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes slideOut {
  from {
    opacity: 1;
    transform: translateY(0);
  }
  to {
    opacity: 0;
    transform: translateY(-10px);
  }
}
@keyframes shimmer {
  0% {
    left: -100%;
  }
  100% {
    left: 100%;
  }
}
.regenerating-indicator.hiding {
  animation: slideOut 0.2s ease-in forwards;
}.speaker-icon {
  width: 20px;
  height: 20px;
}
.speaker-icon path {
  fill: #6A89A7;
}.question-container {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  position: relative;
}

.icon-group {
  display: flex;
  gap: 8px;
  opacity: 0;
  transform: translateX(5px);
  pointer-events: none;
  transition: opacity 0.25s ease, transform 0.25s ease;
  position: absolute;
  bottom: -30px;
  padding-right: 15px;
}

.question-container:hover .icon-group,
.question-container .icon-group.visible .icon-group {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.icon-group.visible {
  opacity: 1;
  transform: translateX(0);
  pointer-events: auto;
}

.icon-wrapper {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  border: none;
  background: none;
}

.icon {
  cursor: pointer;
  color: #666;
  transition: color 0.2s ease;
}

.icon:hover {
  color: var(--primary-color);
}

.copied-text {
  font-size: 12px;
  color: var(--primary-color);
}

.error-text {
  color: #d9534f;
  font-size: 14px;
  margin: 6px 0;
  font-weight: 500;
  margin-left: 6px;
}

.table-only-container {
  margin-top: 16px;
}
.table-only-container .no-chart-message {
  background-color: #f8f9fa;
  border: 1px solid #e9ecef;
  border-radius: 8px;
  padding: 12px 16px;
  margin-bottom: 16px;
}
.table-only-container .no-chart-message p {
  margin: 0;
  color: #6c757d;
  font-size: 14px;
  font-style: italic;
}

.no-data-message {
  background-color: #fff3cd;
  border: 1px solid #ffeaa7;
  border-radius: 8px;
  padding: 16px;
  margin-top: 16px;
  text-align: center;
}
.no-data-message p {
  margin: 0;
  color: #856404;
  font-size: 14px;
}

.answer_icons {
  display: flex;
  align-items: center;
  gap: 20px;
  position: relative;
  z-index: 10;
}
.answer_icons .icon-wrapper.liked img {
  filter: invert(18%) sepia(99%) saturate(1200%) hue-rotate(90deg) brightness(97%) contrast(120%);
}
.answer_icons .icon-wrapper.disliked img {
  filter: invert(18%) sepia(99%) saturate(7493%) hue-rotate(0deg) brightness(97%) contrast(120%);
}
.answer_icons .icon-wrapper.disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.answer_icons .icon-wrapper.disabled img {
  cursor: not-allowed;
}
.answer_icons .icon-wrapper.disabled img:hover {
  transform: none;
}
.answer_icons .icon-wrapper.loading {
  opacity: 0.6;
  cursor: wait;
}
.answer_icons .icon-wrapper.loading img {
  cursor: wait;
  animation: pulse 1.5s ease-in-out infinite;
}
.answer_icons .icon-wrapper.loading img:hover {
  transform: none;
}

@keyframes pulse {
  0%, 100% {
    opacity: 0.6;
  }
  50% {
    opacity: 1;
  }
}
.notification {
  position: fixed;
  top: 20px;
  right: 20px;
  padding: 12px 16px;
  border-radius: 6px;
  color: white;
  font-size: 14px;
  font-weight: 500;
  z-index: 10000;
  animation: slideInRight 0.3s ease-out;
  min-width: 250px;
  text-align: center;
}
.notification.notification-error {
  background-color: #dc3545;
  border: 1px solid #b02a37;
}
.notification.notification-success {
  background-color: #28a745;
  border: 1px solid #1e7e34;
}
.notification.notification-info {
  background-color: #17a2b8;
  border: 1px solid #117a8b;
}

@keyframes slideInRight {
  from {
    transform: translateX(100%);
    opacity: 0;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}.response-pagination {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  background: var(--bg-light, #f8f9fa);
  border-radius: 20px;
  border: 1px solid var(--border-light, #e9ecef);
  font-size: 12px;
  color: var(--text-secondary, #6c757d);
  width: fit-content;
  margin: 8px 0;
}
.response-pagination.inline-pagination {
  margin: 0;
  margin-left: 12px;
  padding: 2px 6px;
  background: transparent;
  border: none;
  font-size: 11px;
  gap: 4px;
}

.pagination-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.pagination-btn.active {
  background: var(--primary-red-dark);
  color: white;
  border-color: var(--primary-red-dark);
}
.pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.pagination-btn svg {
  width: 20px;
  height: 20px;
  display: block;
  flex-shrink: 0;
  transition: transform 0.2s ease, filter 0.2s ease;
}
.pagination-btn:hover:not(:disabled) {
  transform: scale(1.1);
}
.pagination-btn:hover:not(:disabled) svg {
  transform: scale(1.1);
}
.pagination-btn:disabled {
  opacity: 0.4;
  cursor: not-allowed;
}
.pagination-btn:disabled:hover {
  transform: none;
}
.pagination-btn:disabled:hover svg {
  transform: none;
}
.inline-pagination .pagination-btn {
  width: 20px;
  height: 20px;
}
.inline-pagination .pagination-btn svg {
  width: 16px;
  height: 16px;
}

.pagination-text {
  font-weight: 500;
  color: var(--text-primary, #212529);
  min-width: 30px;
  text-align: center;
  font-size: 11px;
}
.inline-pagination .pagination-text {
  font-size: 10px;
  min-width: 25px;
  color: var(--text-secondary, #6c757d);
}

/* Dark theme support */
[data-theme=dark] .response-pagination {
  background: var(--bg-dark, #2d3748);
  border-color: var(--border-dark, #4a5568);
  color: var(--text-secondary-dark, #a0aec0);
}

[data-theme=dark] .response-pagination .pagination-btn {
  color: var(--text-secondary-dark, #a0aec0);
}
[data-theme=dark] .response-pagination .pagination-btn:hover:not(:disabled) {
  color: var(--text-primary-dark, #f7fafc);
}
[data-theme=dark] .response-pagination .pagination-btn .tooltip {
  background-color: var(--secondary-black-darkest, #1a202c);
  color: var(--text-primary-dark, #f7fafc);
}
[data-theme=dark] .response-pagination .pagination-btn .tooltip::after {
  border-bottom-color: var(--secondary-black-darkest, #1a202c);
}

[data-theme=dark] .pagination-text {
  color: var(--text-primary-dark, #f7fafc);
}/* components/ui/LoaderOverlay.scss */
.loader-overlay {
  position: fixed;
  inset: 0;
  background: rgba(255, 255, 255, 0.8);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.loader-overlay .spinner {
  width: 24px;
  height: 24px;
  border: 4px solid #ddd;
  border-top: 4px solid var(--primary-red-dark);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 12px;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}.credits_parent {
  margin: 11px 15px 0 0;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: end;
}
.credits_parent .credits_btn {
  position: relative;
  padding: 12px 18px;
  font-size: 14px;
  font-weight: 400;
  color: #495057;
  background: white;
  border-radius: 999px;
  cursor: pointer;
  border: none;
  z-index: 1;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.06);
}
.credits_parent .credits_btn::before {
  content: "";
  position: absolute;
  inset: -1px;
  border-radius: inherit;
  background: conic-gradient(var(--progress-color) var(--progress), #e5e7eb 15%);
  z-index: -1;
}
.credits_parent .credits_btn::after {
  content: "";
  position: absolute;
  inset: 2px;
  background: white;
  border-radius: inherit;
  z-index: -1;
}.source-item {
  background: #f9fafb;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  padding: 14px;
  transition: all 0.2s ease;
}
.source-item.clickable {
  cursor: pointer;
}
.source-item.clickable:hover {
  background: #f3f4f6;
  border-color: #d1d5db;
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}
.source-item.clickable:active {
  transform: translateY(0);
}
.source-item .source-item-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.source-item .source-item-header .source-favicon {
  width: 32px;
  height: 32px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  overflow: hidden;
  background: #ffffff;
  border: 1px solid #e5e7eb;
}
.source-item .source-item-header .source-favicon img {
  width: 20px;
  height: 20px;
  object-fit: contain;
}
.source-item .source-item-header .source-favicon .source-index {
  font-size: 12px;
  font-weight: 600;
  color: #6b7280;
}
.source-item .source-item-header .source-domain {
  font-size: 12px;
  color: #6b7280;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.source-item .source-title {
  margin: 0 0 6px 0;
  font-size: 15px;
  font-weight: 600;
  color: #1f2937;
  text-align: start;
  line-height: 1.4;
  transition: color 0.2s ease;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.source-item .source-description {
  margin: 0;
  font-size: 13px;
  color: #6b7280;
  text-align: start;
  line-height: 1.6;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
}
.source-item .source-table-container {
  margin-top: 12px;
  overflow-x: auto;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
}
.source-item .source-table-container .source-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  background: #ffffff;
}
.source-item .source-table-container .source-table thead {
  background: #f9fafb;
  border-bottom: 2px solid #e5e7eb;
}
.source-item .source-table-container .source-table thead th {
  padding: 8px 12px;
  text-align: center;
  font-weight: 600;
  color: #374151;
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  white-space: nowrap;
}
.source-item .source-table-container .source-table tbody tr {
  border-bottom: 1px solid #f3f4f6;
}
.source-item .source-table-container .source-table tbody tr:last-child {
  border-bottom: none;
}
.source-item .source-table-container .source-table tbody tr:hover {
  background: #f9fafb;
}
.source-item .source-table-container .source-table tbody tr td {
  padding: 8px 12px;
  color: #1f2937;
  white-space: nowrap;
}
.source-item .source-table-container .table-pagination-wrapper {
  padding: 8px 12px;
  background: #f9fafb;
  border-top: 1px solid #e5e7eb;
  display: flex;
  justify-content: flex-end;
}
.source-item .source-table-container .table-pagination-wrapper .table-inner-pagination {
  margin: 0;
  background: transparent;
  border: none;
  padding: 0;
  border-radius: 0;
  gap: 12px;
}
.source-item .source-table-container .table-pagination-wrapper .table-inner-pagination .pagination-btn {
  width: 28px;
  height: 28px;
  padding: 0;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: white;
}
.source-item .source-table-container .table-pagination-wrapper .table-inner-pagination .pagination-btn svg {
  width: 16px;
  height: 16px;
}
.source-item .source-table-container .table-pagination-wrapper .table-inner-pagination .pagination-btn:hover:not(:disabled) {
  transform: none;
  background: #f3f4f6;
}
.source-item .source-table-container .table-pagination-wrapper .table-inner-pagination .pagination-text {
  font-size: 11px;
  color: #6b7280;
  font-weight: 500;
  min-width: unset;
}.source-panel {
  flex: 0 0 0;
  width: 0;
  min-width: 0;
  max-width: 0;
  height: 100%;
  background: #fcfcfc;
  border-left: 1px solid #d1d5db;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1), min-width 0.35s cubic-bezier(0.4, 0, 0.2, 1), max-width 0.35s cubic-bezier(0.4, 0, 0.2, 1), flex 0.35s cubic-bezier(0.4, 0, 0.2, 1), opacity 0.25s cubic-bezier(0.4, 0, 0.2, 1), border-left-width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  opacity: 0;
  visibility: hidden;
  position: relative;
  z-index: 100;
}
.source-panel.open {
  flex: 0 0 auto;
  width: var(--source-panel-width, 350px);
  min-width: var(--source-panel-width, 350px);
  max-width: 50%;
  border-left-width: 1px;
  opacity: 1;
  visibility: visible;
  box-shadow: -2px 0 6px rgba(0, 0, 0, 0.08);
  position: relative;
}
.source-panel .source-panel-resizer {
  position: absolute;
  top: 0;
  left: -4px;
  bottom: 0;
  width: 8px;
  cursor: col-resize;
  z-index: 100;
  background: transparent;
  transition: background 0.2s ease;
}
.source-panel .source-panel-resizer:hover, .source-panel .source-panel-resizer:active {
  background: rgba(211, 31, 31, 0.1);
}
.source-panel .source-panel-resizer:hover::after, .source-panel .source-panel-resizer:active::after {
  background: #d31f1f;
}
.source-panel .source-panel-resizer::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 100%;
  background: #d1d5db;
  transition: background 0.2s ease;
}
@media (min-width: 1400px) {
  .source-panel.open {
    width: var(--source-panel-width, 400px);
    min-width: var(--source-panel-width, 400px);
  }
}
@media (max-width: 1200px) {
  .source-panel.open {
    width: var(--source-panel-width, 320px);
    min-width: var(--source-panel-width, 320px);
  }
}
@media (max-width: 968px) {
  .source-panel.open {
    width: var(--source-panel-width, 300px);
    min-width: var(--source-panel-width, 300px);
  }
}
@media (max-width: 768px) {
  .source-panel.open {
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100% !important;
    min-width: 100% !important;
    max-width: 100% !important;
    z-index: 1000;
    box-shadow: none;
  }
  .source-panel .source-panel-resizer {
    display: none;
  }
}
.source-panel .source-panel-header {
  display: flex;
  flex-direction: column;
  padding: 20px 24px;
  border-bottom: 1px solid #e5e7eb;
  flex-shrink: 0;
  background: #ffffff;
}
.source-panel .source-panel-header .source-panel-header-top {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 4px;
  gap: 12px;
}
.source-panel .source-panel-header .source-panel-header-top .source-question {
  margin: 0;
  font-size: 13px;
  color: #4b5563;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  flex: 1;
}
.source-panel .source-panel-header .source-panel-header-top .source-question strong {
  color: #111827;
  font-weight: 600;
}
.source-panel .source-panel-header .source-count-subtitle {
  margin: 0;
  font-size: 12px;
  color: #4b5563;
  font-weight: 400;
  line-height: 1.5;
  line-height: 1.4;
  text-align: right;
}
.source-panel .source-panel-header .source-panel-close {
  flex-shrink: 0;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  transition: background 0.2s ease;
}
.source-panel .source-panel-header .source-panel-close:hover {
  background: #f3f4f6;
}
.source-panel .source-panel-header .source-panel-close img {
  width: 18px;
  height: 18px;
  filter: none;
  color: #6b7280;
}
.source-panel .source-panel-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 16px 24px 150px;
  background: #ffffff;
  scroll-behavior: smooth;
}
.source-panel .source-panel-content::-webkit-scrollbar {
  width: 6px;
}
.source-panel .source-panel-content::-webkit-scrollbar-track {
  background: transparent;
}
.source-panel .source-panel-content::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}
.source-panel .source-panel-content::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}
.source-panel .source-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.source-panel .source-panel-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 200px;
  text-align: center;
}
.source-panel .source-panel-empty p {
  color: #6b7280;
  font-size: 14px;
  margin: 0;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@media (max-width: 768px) {
  .source-panel {
    width: 100%;
    max-width: 100%;
  }
}/* Data Sources Page Styles */
.data_sources_content {
  padding: 20px;
  width: 100%;
  margin: 0 auto;
  min-height: 100%;
  background-color: var(--bg-base);
}

.section_title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest);
  margin: 0;
  text-align: center !important;
}

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

.section_header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.section_header .section_title {
  margin: 0;
  text-align: left;
}

.header_actions {
  display: flex;
  align-items: center;
  gap: 10px;
}

.reset_button {
  background: var(--gray300);
  color: var(--secondary-black-darkest);
  border: 1px solid var(--gray400);
  border-radius: 6px;
  padding: 8px 16px;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
}
.reset_button:hover {
  background: var(--gray400);
  border-color: var(--gray500);
}
.reset_button:active {
  transform: translateY(1px);
}

/* Progress Steps */
.progress_steps {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 32px;
  position: relative;
}

.step {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #9ca3af;
  position: relative;
  z-index: 2;
}

.step:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 50%;
  left: calc(100% + 8px);
  width: 100px;
  height: 2px;
  background: #e5e7eb;
  transform: translateY(-50%);
  z-index: 1;
}

.step.active {
  color: #3b82f6;
}

.step_number {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: 600;
  font-size: 14px;
  background: #e5e7eb;
}

.step.active .step_number {
  background: #3b82f6;
}

.step_text {
  font-size: 14px;
  font-weight: 500;
}

/* Horizontal Progress Steps */
.progress_steps_horizontal {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  max-width: 362px;
  margin-left: auto;
  margin-right: auto;
}

.step_horizontal {
  display: flex;
  align-items: center;
  gap: 12px;
  color: var(--txt-title-gray);
  position: relative;
  z-index: 2;
  flex: 0 0 auto;
  transition: all 0.3s ease;
  cursor: pointer;
  border: 0;
}
.step_horizontal:hover {
  color: var(--secondary-black-darkest);
  transform: translateY(-1px);
}
.step_horizontal.active {
  color: var(--secondary-black-darkest);
}
.step_horizontal.disabled {
  cursor: not-allowed;
  opacity: 0.6;
}
.step_horizontal.disabled:hover {
  color: var(--gray500);
  transform: none;
  background: transparent;
}
.step_horizontal:active:not(.disabled) {
  transform: translateY(0);
}

.step_number_horizontal {
  width: 30px;
  height: 30px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-weight: var(--font-weight500);
  font-size: var(--font-size-normal);
  background: var(--accent-light-gray-light);
  color: var(--txt-title-gray);
  border: 1px solid var(--txt-title-gray);
  transition: all 0.3s ease;
}

.step_horizontal.active .step_number_horizontal {
  background: var(--gray650);
  color: var(--light);
  border-color: var(--gray650);
}

.step_text_horizontal {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  white-space: nowrap;
}

.step_connector {
  flex: 1;
  height: 2px;
  background: var(--border-base);
  margin: 0 10px;
  position: relative;
  transition: background-color 0.3s ease;
}
.step_connector.completed {
  background: var(--gray650);
}

.step_connector::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  width: 0%;
  background: var(--gray650);
  transition: width 0.3s ease;
}

/* Upload File Section */
.upload_file_section {
  margin-bottom: 32px;
}

.subsection_title {
  font-size: 20px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 16px 0;
}

.upload_label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 12px;
}

.upload_area {
  border: 2px dashed #d1d5db;
  border-radius: 8px;
  padding: 40px 20px;
  text-align: center;
  position: relative;
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.upload_area:hover {
  border-color: #3b82f6;
}

.upload_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.file_input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.file_status {
  margin-top: 16px;
}

.no_file {
  font-size: 14px;
  color: #6b7280;
}

.uploaded_file {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: #f0fdf4;
  border: 1px solid #bbf7d0;
  border-radius: 8px;
  padding: 12px 16px;
}

.file_info {
  display: flex;
  align-items: center;
  gap: 12px;
}

.file_icon {
  font-size: 20px;
}

.file_details {
  display: flex;
  flex-direction: column;
}

.file_name {
  font-size: 14px;
  font-weight: 500;
  color: #111827;
}

.file_size {
  font-size: 12px;
  color: #6b7280;
}

.file_status_text {
  font-size: 12px;
  font-weight: 500;
}

.file_status_text.success {
  color: #059669;
}

.remove_file {
  background: none;
  border: none;
  font-size: 16px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.remove_file:hover {
  background: #fee2e2;
}

/* Separator */
.separator {
  text-align: center;
  margin: 32px 0;
  position: relative;
}
.separator::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  height: 1px;
  background: #e5e7eb;
}
.separator span {
  background: white;
  padding: 0 16px;
  color: #6b7280;
  font-size: 14px;
  font-weight: 500;
}

/* Connect Section */
.connect_section {
  margin-bottom: 32px;
}

.connect_label {
  display: block;
  font-size: 14px;
  font-weight: 500;
  color: #374151;
  margin-bottom: 12px;
}

.connect_inputs {
  display: flex;
  gap: 12px;
}

.data_source_select {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  color: #111827;
  background: white;
  cursor: pointer;
}
.data_source_select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Details Section */
.details_section {
  margin-bottom: 32px;
}

.details_title {
  font-size: 16px;
  font-weight: 600;
  color: #111827;
  margin: 0 0 16px 0;
}

.details_inputs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}

.input_group {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.input_group label {
  font-size: 14px;
  font-weight: 500;
  color: #374151;
}

.input_group select {
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: 14px;
  color: #111827;
  background: white;
  cursor: pointer;
}
.input_group select:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

/* Action Buttons */
.action_buttons {
  display: flex;
  justify-content: flex-end;
}

.next_button {
  padding: 12px 24px;
  background: #6b7280;
  color: white;
  border: none;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.next_button:hover {
  background: #4b5563;
}
/* Upload File Section Styles */
.upload_file_section_container {
  background: var(--light);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  padding: 20px 20px;
  margin: 20px 0;
  width: 100%;
  max-width: 100%;
}

.section_header_title {
  margin-bottom: 20px;
  text-align: left;
}

.section_number {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest);
  margin: 0;
  text-align: left;
}

/* Upload Area */
.upload_area_container {
  margin-bottom: 24px;
}

.upload_label {
  display: block;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
  color: var(--gray700);
  margin-bottom: 8px;
  text-align: left;
}

.upload_dropzone {
  border: 2px dashed var(--gray400);
  border-radius: 8px;
  padding: 30px 30px;
  text-align: center;
  position: relative;
  cursor: pointer;
  transition: border-color 0.2s ease;
  background: transparent;
  width: 100%;
}
.upload_dropzone:hover {
  border-color: var(--gray600);
}

.file_input_hidden {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  cursor: pointer;
}

.upload_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
}

.upload_header {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: center;
}

.upload_icon {
  font-size: var(--font-size-small);
  color: var(--secondary-red400);
  font-weight: var(--font-weight500);
}

.upload_text {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  color: var(--secondary-red400);
}

.upload_description {
  font-size: var(--font-size-xsmall);
  color: var(--accent-gray-darkest);
  font-weight: var(--font-weight400);
}

.file_selected {
  margin-top: 12px;
  padding: 8px 12px;
  background: var(--secondary-green400);
  border: 1px solid var(--secondary-green500);
  border-radius: 6px;
  color: var(--secondary-green700);
  font-size: var(--font-size-small);
  text-align: left;
}

.no_file_selected {
  margin-top: 12px;
  font-size: var(--font-size-xsmall);
  font-weight: var(--font-weight400);
  color: var(--accent-gray-medium);
  text-align: left;
}

/* Separator */
.separator_section {
  text-align: left;
  margin: 12px 0;
  position: relative;
}

.separator_text {
  background: var(--light);
  padding: 0 16px 0 0;
  color: var(--secondary-black-darkest);
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
}

/* Connect Section */
.connect_section {
  margin-bottom: 24px;
}

.connect_label {
  display: block;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
  color: var(--gray700);
  margin-bottom: 8px;
  text-align: left;
}

.connect_inputs {
  display: flex;
  gap: 12px;
}

.data_source_dropdown {
  flex: 1;
}

.data_source_select {
  flex: 1;
  padding: 12px 16px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: var(--font-size-small);
  color: var(--accent-gray-darkest);
  background: var(--light);
  cursor: pointer;
  /* Native select option styling - override browser defaults */
  /* Browser-specific styling for select options */
  /* Additional browser-specific overrides */
}
.data_source_select:focus {
  outline: none;
  border-color: var(--primary-red-main);
  box-shadow: 0 0 0 2px var(--secondary-red-hover200);
}
.data_source_select:hover {
  border-color: var(--primary-red-main);
}
.data_source_select option {
  background-color: var(--light) !important;
  color: var(--accent-gray-darkest) !important;
}
.data_source_select option:hover {
  background-color: var(--secondary-red-hover200) !important;
  color: var(--primary-red-main) !important;
}
.data_source_select option:focus {
  background-color: var(--secondary-red-hover200) !important;
  color: var(--primary-red-main) !important;
}
.data_source_select option:checked {
  background-color: var(--primary-red-main) !important;
  color: var(--light) !important;
}
.data_source_select::-ms-value {
  background-color: var(--primary-red-main) !important;
  color: var(--light) !important;
}
.data_source_select::-webkit-checked, .data_source_select::-moz-selected {
  background-color: var(--secondary-red-hover200) !important;
  color: var(--primary-red-main) !important;
}

/* Global override for select elements to force red theme */
select.data_source_select option:focus,
select.data_source_select option:hover,
select.data_source_select option:checked {
  background-color: var(--secondary-red-hover200) !important;
  color: var(--primary-red-main) !important;
}

select.data_source_select option[selected] {
  background-color: var(--primary-red-main) !important;
  color: var(--light) !important;
}

.connect_button {
  padding: 12px 24px;
  background: var(--bg-btn-default);
  color: #fff;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.connect_button:hover {
  background: var(--primary-red-main);
}
.connect_button:disabled {
  background: var(--accent-light-gray-light);
  color: var(--txt-muted-gray);
  cursor: not-allowed;
  opacity: 0.6;
}
.connect_button:disabled:hover {
  background: var(--accent-light-gray-light);
}

.download_sample_files {
  padding: 10px 12px;
  background: #333;
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-xsmall);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.download_sample_files:hover {
  background: var(--primary-red-main);
}

/* Add Details Section */
.add_details_section {
  margin: 12px 0 24px 0;
  padding: 24px 0 0 0;
  border-top: 1px solid var(--bg-divider);
}

.details_header {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0 0 12px 0;
  text-align: left;
}

.details_form .form_row {
  display: flex;
  gap: 24px;
  margin-bottom: 20px;
}
.details_form .form_row .form_field {
  flex: 1;
  min-width: 0;
  /* Ensures proper flex behavior */
  width: 100%;
}
.details_form .form_row .form_field .dropdown_container {
  width: 100%;
}
.details_form .form_row .form_field .dropdown_container .dropdown {
  width: 100%;
}
@media (max-width: 768px) {
  .details_form .form_row {
    flex-direction: column;
    gap: 16px;
  }
}

/* Action Section */
.action_section {
  display: flex;
  justify-content: flex-end;
}

/* Action Section Outside - New positioning for Next button outside container */
.action_section_outside {
  display: flex;
  justify-content: flex-end;
  margin-top: 24px;
}

.next_button {
  padding: 12px 24px;
  width: 8rem;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.next_button.disabled {
  background: var(--bg-btn-inactive);
  border: 1px solid var(--bg-btn-inactive);
  color: var(--txt-title-gray);
  cursor: not-allowed;
}
.next_button.enabled {
  background: var(--bg-btn-default);
  color: var(--light);
}
.next_button.enabled:hover {
  background: var(--primary-red-main);
}
.next_button:disabled {
  cursor: not-allowed;
  opacity: 0.6;
}

/* Upload Status Container */
.upload_status_container {
  margin-top: 24px;
  width: 100%;
}

.upload_progress_text {
  color: var(--gray800);
  font-size: var(--font-size-small);
  margin-bottom: 12px;
  font-weight: var(--font-weight500);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  align-items: flex-start;
}

.uploaded_file_card {
  background: var(--light);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  padding: 8px 10px;
  position: relative;
}
.uploaded_file_card .file_info {
  display: flex;
  align-items: center;
  gap: 12px;
}
.uploaded_file_card .file_info .file_icon {
  display: flex;
  align-items: center;
  justify-content: center;
}
.uploaded_file_card .file_info .file_icon .file_type_circle {
  width: 40px;
  height: 40px;
  background-color: #d8ffdc !important;
  color: #24b47e;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 20px;
  font-weight: var(--font-weight600);
}
.uploaded_file_card .file_info .file_icon .file_type_circle svg {
  width: 20px;
  height: 20px;
}
.uploaded_file_card .file_info .file_details {
  flex: 1;
}
.uploaded_file_card .file_info .file_details .file_name {
  color: var(--accent-gray-darkest);
  font-weight: var(--font-weight400);
  font-size: var(--font-size-small);
  text-align: left;
}
.uploaded_file_card .file_info .file_details .file_size_status {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--txt-title-gray);
  font-size: var(--font-size-xsmall);
  font-weight: var(--font-weight400);
  text-align: left;
}
.uploaded_file_card .file_info .file_details .file_size_status .success_text {
  color: var(--success-green-light);
  font-weight: var(--font-weight500);
  font-size: var(--font-size-xsmall);
}
.uploaded_file_card .remove_file_btn {
  position: absolute;
  top: 16px;
  right: 16px;
  background: none;
  border: none;
  color: var(--primary-red-light);
  font-size: 16px;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.uploaded_file_card .remove_file_btn svg {
  width: 16px;
  height: 16px;
}
.uploaded_file_card .remove_file_btn:hover {
  background-color: #fef2f2;
  color: #dc2626;
}
.uploaded_file_card .progress_bar_container {
  margin-top: 16px;
  background-color: var(--gray200);
  border-radius: 6px;
  height: 8px;
  overflow: hidden;
}
.uploaded_file_card .progress_bar_container .progress_bar {
  height: 100%;
  background-color: var(--info-blue-dark);
  transition: width 0.3s ease;
  border-radius: 6px;
}

/* API Response Sections */
.api_response_section {
  margin-top: 20px;
  padding: 16px;
  background: #f0f9ff;
  border: 1px solid #0ea5e9;
  border-radius: 8px;
}
.api_response_section h4 {
  margin: 0 0 12px 0;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight600);
  color: #0c4a6e;
}
.api_response_section .response_content {
  background: white;
  border-radius: 4px;
  padding: 12px;
  border: 1px solid #e0f2fe;
}
.api_response_section .response_content pre {
  margin: 0;
  font-size: 12px;
  color: #374151;
  white-space: pre-wrap;
  word-break: break-word;
  max-height: 200px;
  overflow-y: auto;
}

.api_error_section {
  margin-top: 20px;
  padding: 16px;
  background: #fef2f2;
  border: 1px solid #ef4444;
  border-radius: 8px;
}
.api_error_section h4 {
  margin: 0 0 12px 0;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight600);
  color: #dc2626;
}
.api_error_section .error_content {
  background: white;
  border-radius: 4px;
  padding: 12px;
  border: 1px solid #fecaca;
  color: #991b1b;
  font-size: var(--font-size-small);
}

/* Recommended dropdown styling */
.add_details_section .form_field {
  /* Style for dropdowns that have recommended values */
}
.add_details_section .form_field select option:hover {
  background-color: #f3f4f6;
}
.add_details_section .form_field.has-recommendation .dropdown-container {
  border: 2px solid #10b981;
  border-radius: 6px;
  position: relative;
}
.add_details_section .form_field.has-recommendation .dropdown-container::after {
  content: "✓ Recommended";
  position: absolute;
  top: -10px;
  right: 8px;
  background: #10b981;
  color: white;
  font-size: 10px;
  padding: 2px 6px;
  border-radius: 3px;
  font-weight: 500;
}/* Download Sample Files Modal Styles */
.download-sample-files-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
}

.download-sample-files-modal-container {
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  max-width: 600px;
  width: 90%;
  max-height: 80vh;
  overflow-y: auto;
  animation: modalFadeIn 0.3s ease-out;
}

@keyframes modalFadeIn {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(-20px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
.download-sample-files-modal-content {
  padding: 24px;
  position: relative;
}

.modal-heading {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest);
  margin: 0 15px 10px;
  text-align: left;
}

.modal-close-button {
  position: absolute;
  top: 10px;
  right: 10px;
  background: none;
  border: none;
  font-size: 24px;
  color: var(--secondary-black-darkest);
  cursor: pointer;
  padding: 0;
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-close-button:hover {
  color: var(--primary-red-main);
}

.checkboxes-section {
  margin-bottom: 14px;
}

.file-item {
  margin-bottom: 12px;
  padding: 16px;
  background: var(--light);
}
.file-item:last-child {
  margin-bottom: 0;
}

.file-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}

.file-header input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary-red-main);
  cursor: pointer;
}

.file-name {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest);
  text-align: left;
  cursor: pointer;
  margin-bottom: 12px;
}

.period-checkboxes {
  display: flex;
  gap: 20px;
  flex-wrap: wrap;
}

.checkbox-item {
  display: flex;
  align-items: center;
  gap: 8px;
}
.checkbox-item input[type=checkbox] {
  width: 18px;
  height: 18px;
  accent-color: var(--primary-red-main);
  cursor: pointer;
}
.checkbox-item label {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
  color: var(--secondary-black-darkest);
  cursor: pointer;
  margin: 0;
}

.modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
}

.download_separator {
  height: 1px;
  background: #e2e8f0;
  margin: 2px 0px;
  width: 100%;
}

.file-cancel-button {
  padding: 12px 24px;
  background: transparent;
  color: var(--primary-red-main);
  border: 1px solid var(--primary-red-main);
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 100px;
}
.file-cancel-button:hover {
  background-color: rgba(211, 31, 31, 0.1);
  border-color: var(--primary-red-dark);
  color: var(--primary-red-dark);
}

.file-download-button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  min-width: 140px;
}
.file-download-button:hover {
  background: var(--primary-red-main);
}/* Explore Data Section Styles */
.explore_data_section_container {
  background: var(--light);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  padding: 20px 20px;
  margin: 20px 0;
  width: 100%;
  max-width: 100%;
  position: relative;
}

.section_header_title {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section_number {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  line-height: 1.4;
}

.process_step_info {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding: 8px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-size: 14px;
}
.process_step_info .step_label {
  color: var(--gray600);
  font-weight: 500;
}
.process_step_info .step_number {
  background: #2196f3;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 600;
  min-width: 24px;
  text-align: center;
}
.process_step_info .step_status {
  color: var(--gray700);
  font-weight: 500;
  padding: 4px 8px;
  background: #e3f2fd;
  border-radius: 4px;
}
.process_step_info .debug_info {
  color: var(--gray500);
  font-size: 12px;
  font-family: monospace;
  padding: 4px 8px;
  background: #f1f5f9;
  border-radius: 4px;
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.process_step_info .changes_indicator {
  color: #d97706;
  font-weight: 600;
  padding: 4px 8px;
  background: #fef3c7;
  border-radius: 4px;
  border: 1px solid #f59e0b;
}

/* Analysis Placeholder */
.analysis_placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 300px;
}
.analysis_placeholder p {
  font-size: 16px;
  color: #757575;
  font-family: "Ubuntu", sans-serif;
  text-align: center;
}

/* Sales Growth Analysis Section */
.sales_growth_analysis_section {
  margin-top: 32px;
}
.sales_growth_analysis_section .section_card {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  min-height: 400px;
  overflow: hidden;
}
.sales_growth_analysis_section .section_card_header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
}
@media (max-width: 768px) {
  .sales_growth_analysis_section .section_card_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
}
.sales_growth_analysis_section .section_card_title {
  font-size: 20px;
  font-weight: 700;
  color: #213345;
  margin: 0;
}
@media (max-width: 768px) {
  .sales_growth_analysis_section .section_card_title {
    font-size: 18px;
  }
}
.sales_growth_analysis_section .section_card_controls {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (max-width: 768px) {
  .sales_growth_analysis_section .section_card_controls {
    flex-wrap: wrap;
    gap: 10px;
  }
}
.sales_growth_analysis_section .discover_button {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #11a1fd 0%, #0085d1 100%);
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  min-height: 40px;
}
.sales_growth_analysis_section .discover_button:hover {
  background: linear-gradient(135deg, #0085d1 0%, #006ba6 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(17, 161, 253, 0.3);
}
.sales_growth_analysis_section .discover_icon {
  font-size: 16px;
}
.sales_growth_analysis_section .timeframe_dropdown {
  min-width: 120px;
}
.sales_growth_analysis_section .section_card_body {
  padding: 0;
}

.success_message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-alert-success);
  border: 1px solid var(--border-alert-success);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 32px;
  color: var(--accent-gray-darkest);
  position: absolute;
  top: 0%;
  left: 50%;
  width: 95%;
  transform: translate(-50%, -50%);
  z-index: 999;
}

.success_content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.success_icon {
  color: #059669;
  font-size: 18px;
}

.success_text {
  color: var(--accent-gray-darkest);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
}

.close_message {
  background: none;
  border: none;
  font-size: 16px;
  color: #059669;
  cursor: pointer;
  padding: 4px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}
.close_message:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Analysis Tabs */
.analysis_tabs {
  display: flex;
  gap: 24px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: #ffffff;
  border-radius: 0px;
  padding: 16px 24px 0;
}
.analysis_tabs::-webkit-scrollbar {
  display: none;
}

.tab_button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  font-size: var(--font-size-small);
  color: var(--info-blue-dark);
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  font-weight: var(--font-weight400);
  flex-shrink: 0;
  position: relative;
}
.tab_button .tab_icon {
  font-size: 14px;
  color: var(--accent-gray-medium);
  transition: color 0.3s ease;
}
.tab_button:hover {
  color: var(--secondary-black-darkest);
}
.tab_button:hover .tab_icon {
  color: var(--secondary-black-darkest);
}
.tab_button.active {
  color: var(--secondary-black-darkest);
  border-bottom-color: var(--secondary-black-darkest);
  border-bottom-width: 3px;
}
.tab_button.active .tab_icon {
  color: var(--secondary-black-darkest);
}

.tab_label {
  font-weight: 500;
}

/* Chart Section */
.chart_section {
  margin-top: 24px;
}

.chart_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 16px;
}

.chart_title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight600);
  color: var(--gray900);
  margin: 0;
}

.chart_controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.discover_button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: transparent;
  border: 2px solid #3b82f6;
  border-radius: 8px;
  color: #3b82f6;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.2s ease;
}
.discover_button .discover_icon {
  font-size: 16px;
}
.discover_button:hover {
  background: #3b82f6;
  color: white;
  transform: translateY(-1px);
}

.timeframe_select {
  padding: 8px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: var(--font-size-small);
  background: var(--light);
  cursor: pointer;
  min-width: 120px;
  color: var(--gray600);
}
.timeframe_select:focus {
  outline: none;
  border-color: var(--primary500);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.timeframe_select:hover {
  border-color: #9ca3af;
}

/* Chart Container */
.chart_container {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 24px;
  min-height: 350px;
  padding: 24px 0;
  width: 100%;
  background: transparent;
  border: none;
}

.chart_y_axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 280px;
  font-size: var(--font-size-small);
  color: var(--gray500);
  padding-right: 16px;
  padding-left: 0;
  font-weight: 500;
  min-width: 40px;
}

.chart_content {
  flex: 1;
  height: 280px;
  padding-right: 0;
}

.bars_container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 100%;
  gap: 32px;
  padding: 0 20px;
}

.bar_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  height: 100%;
  max-width: 80px;
}

.bar {
  width: 48px;
  background: #3b82f6;
  border-radius: 4px 4px 0 0;
  transition: all 0.3s ease;
  margin-bottom: 16px;
}
.bar:hover {
  background: #2563eb;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(59, 130, 246, 0.2);
}

.bar_label {
  font-size: var(--font-size-small);
  color: var(--gray700);
  font-weight: 500;
  text-align: center;
}

/* Chart Legend */
.chart_legend {
  display: flex;
  justify-content: center;
  padding-top: 16px;
  border-top: 1px solid var(--gray300);
}

.legend_item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend_color {
  width: 12px;
  height: 12px;
  background: var(--primary500);
  border-radius: 2px;
}

.legend_text {
  font-size: var(--font-size-small);
  color: var(--gray600);
  font-weight: var(--font-weight500);
}

/* Navigation Section */
.navigation_section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--gray300);
}

/* Navigation Section Outside - New positioning for buttons outside container */
.navigation_section_outside {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}

.previous_button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
}
.previous_button:hover {
  background: var(--primary-red-main);
}

.confirm_proceed_button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
}
.confirm_proceed_button:hover {
  background: var(--primary-red-main);
}
.confirm_proceed_button.disabled {
  background: var(--gray300);
}

.save_button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.save_button:hover:not(:disabled) {
  background: var(--primary-red-main);
}
.save_button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}
.save_button .button_icon {
  font-size: 16px;
}

/* Preview Data Analysis Styles */
.preview-data-analysis .preview-content {
  width: 100%;
}
.preview-data-analysis .preview-header {
  margin-bottom: 24px;
}
.preview-data-analysis .preview-header h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--gray900);
  margin: 0 0 8px 0;
}
.preview-data-analysis .preview-header p {
  font-size: 14px;
  color: var(--gray600);
  margin: 0;
}
.preview-data-analysis .table-wrapper-with-scroll {
  position: relative;
  width: 100%;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: white;
}
.preview-data-analysis .table-wrapper-with-scroll .summary-table-container {
  min-width: 1400px;
}
.preview-data-analysis .column-mapping-table .field-type-badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  text-transform: capitalize;
}
.preview-data-analysis .column-mapping-table .field-type-badge.dimension {
  background: #e3f2fd;
  color: #1565c0;
}
.preview-data-analysis .column-mapping-table .field-type-badge.metric {
  background: #f3e5f5;
  color: #7b1fa2;
}
.preview-data-analysis .column-mapping-table .required-badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.preview-data-analysis .column-mapping-table .required-badge.yes {
  background: #e8f5e8;
  color: #2e7d32;
}
.preview-data-analysis .column-mapping-table .required-badge.no {
  background: #fff3e0;
  color: #ef6c00;
}
.preview-data-analysis .column-mapping-table .csv-column,
.preview-data-analysis .column-mapping-table .display-name {
  font-weight: 500;
}
.preview-data-analysis .column-mapping-table .data-type {
  font-family: monospace;
  font-size: 13px;
}
.preview-data-analysis .column-mapping-table .db-column {
  font-family: monospace;
  font-size: 13px;
  color: var(--gray600);
}
.preview-data-analysis .column-mapping-table .date-format {
  font-family: monospace;
  font-size: 13px;
  color: var(--gray500);
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table {
  table-layout: fixed;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th,
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table td {
  min-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-right: 1px solid #e5e7eb;
  padding: 12px 8px;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th:last-child,
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table td:last-child {
  border-right: none;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th:first-child,
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table td:first-child {
  position: sticky;
  left: 0;
  background: #f8fafc;
  z-index: 10;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
  min-width: 180px !important;
  font-weight: 600;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th:first-child {
  background: #64748b;
  color: white;
  z-index: 11;
}
.preview-data-analysis .column-mapping-table .new-column-badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
}
.preview-data-analysis .column-mapping-table .new-column-badge.yes {
  background: #e0f2fe;
  color: #0277bd;
}
.preview-data-analysis .column-mapping-table .new-column-badge.no {
  background: #f5f5f5;
  color: #616161;
}
.preview-data-analysis .column-mapping-table .action-buttons {
  display: flex;
  gap: 4px;
  justify-content: center;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn {
  padding: 6px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.view-btn {
  background: #e3f2fd;
  color: #1565c0;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.view-btn:hover {
  background: #bbdefb;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.edit-btn {
  background: #fff3e0;
  color: #ef6c00;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.edit-btn:hover {
  background: #ffe0b2;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.delete-btn {
  background: #ffebee;
  color: #d32f2f;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.delete-btn:hover {
  background: #ffcdd2;
}
.preview-data-analysis .column-mapping-table .csv-column {
  min-width: 180px !important;
}
.preview-data-analysis .column-mapping-table .display-name {
  min-width: 160px !important;
}
.preview-data-analysis .column-mapping-table .data-type {
  min-width: 120px !important;
}
.preview-data-analysis .column-mapping-table .field-type {
  min-width: 130px !important;
}
.preview-data-analysis .column-mapping-table .is-required {
  min-width: 100px !important;
}
.preview-data-analysis .column-mapping-table .db-column {
  min-width: 180px !important;
}
.preview-data-analysis .column-mapping-table .date-format {
  min-width: 140px !important;
}
.preview-data-analysis .column-mapping-table .default-data {
  min-width: 140px !important;
}
.preview-data-analysis .column-mapping-table .is-new-column {
  min-width: 140px !important;
}
.preview-data-analysis .column-mapping-table .type-column {
  min-width: 120px !important;
}
.preview-data-analysis .column-mapping-table .formula-column {
  min-width: 200px !important;
}
.preview-data-analysis .column-mapping-table .additional-column {
  min-width: 200px !important;
}
.preview-data-analysis .column-mapping-table .action-column {
  min-width: 120px !important;
}
.preview-data-analysis .no-data-message {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}
.preview-data-analysis .no-data-message p {
  color: var(--gray500);
  font-size: 16px;
  text-align: center;
}
.preview-data-analysis .fixed-column-table-container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}
.preview-data-analysis .fixed-column-table-container .table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.preview-data-analysis .fixed-column-table-container .table-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .search-input {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  width: 200px;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .search-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .add-button {
  padding: 8px 16px;
  background: #3b82f6;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .add-button:hover {
  background: #2563eb;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper {
  display: flex;
  position: relative;
  max-height: 500px;
  overflow: hidden;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column {
  flex-shrink: 0;
  width: 200px;
  background: #64748b;
  border-right: 2px solid #475569;
  z-index: 2;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table thead th {
  background: #64748b;
  color: white;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #475569;
  position: sticky;
  top: 0;
  z-index: 3;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table tbody .fixed-cell {
  padding: 12px 16px;
  background: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
  font-weight: 500;
  font-size: 14px;
  color: #1e293b;
  word-wrap: break-word;
  max-width: 180px;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table tbody tr:nth-child(even) .fixed-cell {
  background: #e2e8f0;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table tbody tr:hover .fixed-cell {
  background: #cbd5e1;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns {
  flex: 1;
  overflow-x: auto;
  overflow-y: auto;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table {
  width: 100%;
  min-width: 1000px;
  border-collapse: separate;
  border-spacing: 0;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table thead th {
  background: #64748b;
  color: white;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #475569;
  position: sticky;
  top: 0;
  z-index: 1;
  min-width: 120px;
  white-space: nowrap;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 14px;
  color: #374151;
  min-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table tbody tr:nth-child(even) td {
  background: #f9fafb;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table tbody tr:hover td {
  background: #f3f4f6;
}
.preview-data-analysis .fixed-column-table-container .pagination-info {
  padding: 12px 20px;
  background: #f8fafc;
  border-top: 1px solid #e5e7eb;
  font-size: 14px;
  color: #6b7280;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  background: #f8fafc;
  border-top: 1px solid #e5e7eb;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-info {
  padding: 0;
  background: none;
  border: none;
  font-size: 14px;
  color: #6b7280;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls {
  display: flex;
  gap: 4px;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn.active {
  background: #3b82f6;
  color: white;
  border-color: #3b82f6;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container {
  position: relative;
  display: inline-block;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-input {
  padding: 8px 35px 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  width: 200px;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-clear-btn {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #6b7280;
  padding: 2px;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-clear-btn:hover {
  color: #374151;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  pointer-events: none;
}
.preview-data-analysis .badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
}
.preview-data-analysis .badge.metric-badge.yes {
  background: #fdf4ff;
  color: #a21caf;
}
.preview-data-analysis .badge.metric-badge.no {
  background: #f5f5f5;
  color: #616161;
}
.preview-data-analysis .badge.mandatory-badge.yes {
  background: #dcfce7;
  color: #16a34a;
}
.preview-data-analysis .badge.mandatory-badge.no {
  background: #fef3c7;
  color: #d97706;
}
.preview-data-analysis .badge.newcolumn-badge.yes {
  background: #e0f2fe;
  color: #0277bd;
}
.preview-data-analysis .badge.newcolumn-badge.no {
  background: #f5f5f5;
  color: #616161;
}
.preview-data-analysis .action-buttons {
  display: flex;
  gap: 4px;
  justify-content: center;
}
.preview-data-analysis .action-buttons .action-btn {
  padding: 6px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-data-analysis .action-buttons .action-btn.view-btn {
  background: #e3f2fd;
  color: #1565c0;
}
.preview-data-analysis .action-buttons .action-btn.view-btn:hover {
  background: #bbdefb;
}
.preview-data-analysis .action-buttons .action-btn.edit-btn {
  background: #fff3e0;
  color: #ef6c00;
}
.preview-data-analysis .action-buttons .action-btn.edit-btn:hover {
  background: #ffe0b2;
}
.preview-data-analysis .action-buttons .action-btn.delete-btn {
  background: #ffebee;
  color: #d32f2f;
}
.preview-data-analysis .action-buttons .action-btn.delete-btn:hover {
  background: #ffcdd2;
}

.data-mapping-container {
  height: calc(100vh - 100px);
  display: flex;
  justify-content: center;
  align-items: center;
}

.data-mapping-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 20px;
}

.data-mapping-text {
  font-size: 26px;
  font-weight: 800;
}.status_icon {
  padding: 4px 8px;
  border-radius: 999px;
  display: flex;
  flex-direction: row-reverse;
  gap: 5px;
  align-items: center;
  justify-content: center;
  color: #000;
}
.status_icon span {
  text-transform: capitalize;
}

.delete-icon-btn {
  background: transparent;
  border: none;
  color: #b91c1c;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.delete-icon-btn:hover {
  background-color: rgba(127, 29, 29, 0.08);
  color: #7f1d1d;
}
.delete-icon-btn:active {
  transform: scale(0.95);
}

.download-icon-btn {
  background: transparent;
  border: none;
  color: #2563eb;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.download-icon-btn:hover {
  background-color: rgba(37, 99, 235, 0.08);
  color: #1d4ed8;
}
.download-icon-btn:active {
  transform: scale(0.95);
}.myFiles_page {
  padding: 20px;
  width: 100%;
  text-align: start;
  line-height: 100%;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.myFiles_page .myFiles_page_content {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.myFiles_page .viewMore-button {
  border: 1px solid var(--secondary-black-light);
  background: white;
  color: var(--secondary-color);
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 12px 16px;
}
.myFiles_page .viewMore-button:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}
.myFiles_page .viewMore-button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}
.myFiles_page .myFiles_page_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.myFiles_page .myFiles_page_header h2 {
  font-size: 24px;
  font-weight: 700;
  color: var(--secondary-color);
}
.myFiles_page .myFiles_page_header .filter_tab {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.myFiles_page .myFiles_page_header .filter_tab .filter {
  display: flex;
  align-items: center;
  column-gap: 3px;
  background-color: var(--background-color);
  padding: 8px;
  border: 0.5px solid var(--border-base);
  border-radius: 7px;
  font-size: 14px;
  font-weight: 400;
  color: var(--accent-gray-darkest);
  cursor: pointer;
}
.myFiles_page .myfiles_parent {
  background: var(--background-color);
  border-radius: 7px;
  padding: 20px;
  font-size: 20px;
  border: 1px solid #e2e8f0;
  width: 100%;
}
.myFiles_page .myfiles_parent h4 {
  margin-bottom: 20px;
}
.myFiles_page .myfiles_parent a {
  text-decoration: none;
  color: var(--success-green-medium);
}
.myFiles_page .myfiles_parent a:hover {
  text-decoration: underline;
}
.myFiles_page .myfiles_parent .myfiles_parent_grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  place-content: center;
}
@media (max-width: 1024px) {
  .myFiles_page .myfiles_parent .myfiles_parent_grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 640px) {
  .myFiles_page .myfiles_parent .myfiles_parent_grid {
    grid-template-columns: 1fr;
    gap: 12px;
  }
}
.myFiles_page .myfiles_parent .myfile_card {
  border: 1px solid var(--accent-light-gray-light);
  border-radius: 16px;
  padding: 10px;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.myFiles_page .myfiles_parent .myfile_card .card_header {
  display: flex;
  align-items: center;
  justify-content: start;
  font-size: 14px;
  font-weight: 500;
  column-gap: 10px;
}
.myFiles_page .myfiles_parent .myfile_card .card_header h5 {
  font-size: 14px;
}
.myFiles_page .myfiles_parent .myfile_card .card_header .icon_wrapper {
  width: 35px;
  height: 35px;
  border-radius: 50%;
}
.myFiles_page .myfiles_parent .myfile_card .card_content {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 400;
  color: var(--accent-gray-darkest);
}
.myFiles_page .myfiles_parent .myfile_card .card_content .img_wrapper {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.myFiles_page .myfiles_parent .myfile_card .icon_wrapper {
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--light);
}
.myFiles_page .myfiles_parent .myfiles_button {
  font-size: 14px;
  color: var(--secondary-black-light);
  padding: 8px 15px;
  border: 1px solid var(--secondary-black-light);
  display: inline-block;
  width: fit-content;
  cursor: pointer;
  border-radius: 5px;
}.search_input {
  border: 1px solid #D6D3D1;
  border-radius: 8px;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  width: 100%;
  background-color: #ffffff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.05);
  position: relative;
  z-index: 1;
  /* Lower z-index than our dropdown */
  transition: all 0.3s ease;
}
.search_input .search_icon {
  width: 18px;
  height: 18px;
  opacity: 0.6;
}
.search_input.collapsed {
  width: 40px;
  height: 40px;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto;
  border-radius: 6px;
  background-color: transparent;
  border: none;
  box-shadow: none;
}
.search_input.collapsed:hover {
  background-color: #ffffff;
}
.search_input.collapsed .search_icon {
  margin: 0;
  width: 16px;
  height: 16px;
  opacity: 0.8;
}

.search_input input {
  font-size: 14px;
  border: none;
  outline: none;
  background-color: transparent;
  color: #64748b;
  width: 100%;
}
.search_input input::placeholder {
  color: #94a3b8;
}/* Base Button Styles */
.custom_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0.375rem;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
  box-sizing: border-box;
  gap: 0.5rem;
}

/* Button Text and Icon Elements */
.custom_button__text {
  display: inline-block;
}

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

.custom_button__icon--left {
  margin-right: 0.25rem;
}

.custom_button__icon--right {
  margin-left: 0.25rem;
}

.custom_button__spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

/* Size Variations */
.custom_button--small {
  padding: 0.5rem 1rem;
  font-size: var(--font-size-small);
  min-height: 36px;
}

.custom_button--medium {
  padding: 0.75rem 1.5rem;
  font-size: var(--font-size-normal);
}

.custom_button--large {
  padding: 1rem 2rem;
  font-size: var(--font-size-large);
  min-height: 3.5rem;
}

/* Width Variations */
.custom_button--full-width {
  width: 100%;
}

/* Primary Variant */
.custom_button--primary {
  background-color: var(--primary-color, #d31f1f);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--primary:hover:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--primary:active:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  transform: translateY(1px);
}

/* Secondary Variant */
.custom_button--secondary {
  background-color: var(--light, #ffffff);
  color: var(--dark, #000000);
  border: 1px solid var(--gray300, #e1e1e1);
}

.custom_button--secondary:hover:not(:disabled) {
  background-color: #f5f5f5;
  border-color: var(--gray500, #b3b3b3);
}

.custom_button--secondary:active:not(:disabled) {
  background-color: #e5e5e5;
  transform: translateY(1px);
}

/* tertiary Variant */
.custom_button--tertiary {
  background-color: var(--secondary-black-light, #222831);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--tertiary:hover:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--tertiary:active:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  transform: translateY(1px);
}

/* Outline Variant */
.custom_button--outline {
  background-color: transparent;
  color: var(--primary-color, #d31f1f);
  border: 1.5px solid var(--primary-color, #d31f1f);
}

.custom_button--outline:hover:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
}

.custom_button--outline:active:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
  transform: translateY(1px);
}

/* Ghost Variant */
.custom_button--ghost {
  background-color: transparent;
  color: var(--primary);
  border: none;
}

.custom_button--ghost:hover:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.1);
}

.custom_button--ghost:active:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.2);
}

/* Danger Variant */
.custom_button--danger {
  background-color: var(--secondary-red);
  color: var(--light);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}

.custom_button--danger:hover:not(:disabled) {
  background-color: #dc2626;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}

.custom_button--danger:active:not(:disabled) {
  background-color: var(--secondary-red700);
  transform: translateY(1px);
}

/* Disabled State */
.custom_button--disabled,
.custom_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}

/* Loading State */
.custom_button--loading {
  cursor: not-allowed;
  pointer-events: none;
}

.custom_button--loading .custom_button__text {
  opacity: 0.7;
}

/* Focus States */
.custom_button:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--primary-hover200);
}

.custom_button--secondary:focus {
  box-shadow: 0 0 0 3px rgba(var(--gray600), 0.3);
}

.custom_button--danger:focus {
  box-shadow: 0 0 0 3px var(--secondary-red-hover200);
}

/* Spinner Animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Responsive Design */
@media (max-width: 768px) {
  .custom_button--large {
    padding: 14px 28px;
    font-size: 16px;
    min-height: 52px;
  }
  .custom_button--medium {
    padding: 10px 20px;
    font-size: 15px;
  }
  .custom_button--small {
    padding: 6px 12px;
    font-size: 13px;
    min-height: 32px;
  }
}
/* Global CSS Override for Dropdown Options */
select option:checked,
select option:focus,
select option:hover,
select option:active {
  background-color: #d31f1f !important;
  color: white !important;
}

select option {
  background-color: white !important;
  color: #171717 !important;
}

/* CSS Variables */
:root {
  /* === Main Color Scheme === */
  /* Primary Color (Red) */
  --primary-color: #d31f1f;
  /* Secondary Color (Black) */
  --secondary-color: #171717;
  /* Background Color (White) */
  --background-color: #ffffff;
  /* Accent 1 (Dark Gray) */
  --accent-1: #444444;
  /* Accent 2 (Light Gray) */
  --accent-2: #f0f0f0;
  /* === Color Variations === */
  /* Primary Red Color Variations (Primary/Highlights, Buttons, Alerts) */
  --primary-red-dark: #b22222;
  --primary-red-main: #d31f1f;
  --primary-red-light: #ff6b6b;
  --primary-red-lighter: #ff3a22;
  /* Secondary Black Color Variations (Text, Charts, Navigation) */
  --secondary-black-darkest: #171717;
  --secondary-black-dark: #232323;
  --secondary-black-medium: #1c1c1e;
  --secondary-black-light: #222831;
  /* Background White Color Variations (Background, Cards, Modals) */
  --background-white-pure: #f7f7f7;
  --background-white-light: #f4f4f9;
  --background-white-medium: #fcfcfc;
  --background-white-main: #ffffff;
  /* Accent 1 Dark Gray Color Variations (Text, Muted icons, Chart Lines) */
  --accent-gray-darkest: #3a4347;
  --accent-gray-medium: #6d8196;
  --accent-gray-light: #6a89a7;
  --accent-gray-lightest: #95abc1;
  /* Accent 2 Light Gray Color Variations (Surfaces, Containers) */
  --accent-light-gray-dark: #cbcaca;
  --accent-light-gray-medium: #dadada;
  --accent-light-gray-light: #eaeaea;
  --accent-light-gray-lightest: #f0f0f0;
  /* Success Green Color (BI status/success indicators) */
  --success-green-dark: #198038;
  --success-green-medium: #24b47e;
  --success-green-light: #24b47e;
  --success-green-lightest: #b9fbc0;
  /* Warning Yellow Color (BI warning indicators) */
  --warning-yellow-dark: #fcc419;
  --warning-yellow-medium: #f1c21b;
  --warning-yellow-light: #ffd166;
  --warning-yellow-lightest: #fff2cc;
  /* Info Blue Color (NLP User Input, info states) */
  --info-blue-dark: #335c81;
  --info-blue-medium: #118ab2;
  --info-blue-light: #a3cff1;
  --info-blue-lightest: #b8dbd9;
  /* === Background Colors === */
  /* Layout & Container Backgrounds */
  --bg-base: #f2f2f2;
  --bg-sidebar: #f2f2f2;
  --bg-nav-container: #f0f0f0;
  --bg-container: #ffffff;
  /* Element Backgrounds */
  --bg-count-icon-active: #6a89a7;
  --bg-count-icon-default: #eaeaea;
  /* Progress & Status Backgrounds */
  --bg-progress-base: #eaeaea;
  --bg-progress-bar: #335c81;
  /* Button Backgrounds */
  --bg-btn-inactive: #eaeaea;
  --bg-btn-default: #222831;
  --bg-btn-hover: #d31f1f;
  /* Modal & Overlay Backgrounds */
  --bg-modal-overlay: rgba(68, 68, 68, 0.85);
  /* #444444 with 85% opacity */
  --bg-modal-container: #ffffff;
  /* Alert Backgrounds */
  --bg-alert-success: #e9ffeb;
  --bg-alert-warning: #fff8e6;
  --bg-alert-error: #ffe8e8;
  --bg-alert-info: #e9ffeb;
  /* Divider & Separator Backgrounds */
  --bg-divider: #cecece;
  /* === Border Colors === */
  /* Layout & Container Borders */
  --border-base: #e2e2e2;
  --border-container: #e2e2e2;
  --border-nav: #f0f0f0;
  --border-section: #e2e2e2;
  --border-divider: #e2e2e2;
  /* Button Borders */
  --border-btn-inactive: #eaeaea;
  --border-btn-default: #222831;
  --border-btn-hover: #222831;
  /* Modal & Overlay Borders */
  --border-modal: #ffffff;
  /* Alert Borders */
  --border-alert-success: #24b47e;
  --border-alert-warning: #ffd166;
  --border-alert-error: #d31f1f;
  --border-alert-info: #24b47e;
  /* Additional Border Colors */
  --border-color: #e1e1e1;
  --border-hover: #b3b3b3;
  /* === Typography === */
  /* Base Font Sizes */
  --font-size-xlarge: clamp(28px, 8vw, 36px);
  --font-size-xlarge-2: clamp(24px, 6vw, 32px);
  --font-size-large: clamp(20px, 4vw, 24px);
  --font-size-normal: 16px;
  --font-size-small: 14px;
  /* Login input labels, placeholders, links, CTA buttons, navigation labels */
  --font-size-xsmall: 12px;
  /* Error messages, navigation headers, file selection text */
  /* Heading Font Sizes */
  --h1-font-size: clamp(24px, 5vw, 28px);
  --h2-font-size: clamp(20px, 4vw, 24px);
  --h3-font-size: clamp(18px, 3vw, 20px);
  /* Container headers, Sub-titles */
  --h4-font-size: clamp(16px, 3.5vw, 18px);
  /* Pop-up headers */
  --h5-font-size: 16px;
  /* Count icons */
  --h6-font-size: 12px;
  /* Font Weights */
  --font-weight700: 700;
  --font-weight500: 500;
  --font-weight400: 400;
  --font-weight300: 300;
  /* Text Colors */
  --text-secondary: #6e6e6e;
  --txt-title-gray: #c3c2c2;
  /* === Spacing === */
  /* Padding */
  --padding-input-default: 20px 30px;
  --padding-container-large: 40px;
  --padding-container-medium: 30px 20px;
  --padding-container-default: 20px;
  --padding-container-small: 10px 20px 15px 20px;
  --padding-element-narrow: 4px 6px;
  --padding-element-standard: 8px 15px;
  --padding-element-medium: 10px 15px;
  --padding-element-wide: 12px 20px;
  --padding-alert: 10px 15px;
  --padding-modal: 20px;
  /* Margins */
  --margin-error: 4px 0 0 0;
  --margin-container: 20px;
  --margin-content: 10px 0;
  --margin-icon-text: 0 10px;
  --margin-tab-default: 20px 40px 10px 0;
  --margin-tab-active: 20px 40px 10px 0;
  --margin-tab-hover: 20px 40px 10px 0;
  --margin-divider: 10px 20px 20px 20px;
  /* Gap Sizes */
  --gap-icon-text: 10px;
  --gap-icon-container: 20px;
  /* === Layout === */
  /* Grid Sizes */
  --grid-size-small: 576px;
  --grid-size-medium: 768px;
  --grid-size-large: 992px;
  --grid-size-xlarge: 1140px;
  /* === UI Elements === */
  /* Dropdown */
  --dropdown-options: #292929cc;
  --dropdown-options-focused: #292929;
  --dropdown-bg: #bfe7ff;
  /* Common Colors */
  --msgColor: #ffffff;
  --body-bg: #f8f8f8;
  --light: #ffffff;
  --dark: #000000;
  --primary-dark: #1565c0;
  /* === Legacy Color Variables (keeping for backward compatibility) === */
  --gray50: #bacad6;
  --gray75: #fafafa;
  --gray100: #f5f5f5;
  --gray200: #eaeaea;
  --gray300: #e1e1e1;
  --gray400: #cacaca;
  --gray500: #b3b3b3;
  --gray650: #6a89a7;
  --gray600: #8e8e8e;
  --gray700: #335c81;
  --gray800: #4b4b4b;
  --gray900: #2c2c2c;
  --primary400: #4cc3fd;
  --primary500: #11a1fd;
  --primary600: #0c7dd9;
  --primary700: #085db6;
  --primary-hover200: rgba(17, 161, 253, 0.2);
  --secondary-red400: #ff6b6b;
  --secondary-red500: #d51f30;
  --secondary-red600: #b51c2a;
  --secondary-red700: #85010d;
  --secondary-red-hover200: #e96e7a;
  --secondary-purple400: #8298fb;
  --secondary-purple500: #5a75f9;
  --secondary-purple600: #4259d4;
  --secondary-purple700: #3247b5;
  --secondary-green400: #3cd795;
  --secondary-green500: #07c180;
  --secondary-green600: #06a57d;
  --secondary-green700: #038673;
  --secondary-yellow400: #ffb866;
  --secondary-yellow500: #ff9931;
  --secondary-yellow600: #db7823;
  --secondary-yellow700: #b45917;
  --secondary-yellow-hover200: #ffb866;
  --secondary-gray400: #cedfe8;
  --secondary-gray500: #a7c1d2;
  --secondary-gray600: #7d9eb5;
  --secondary-gray700: #486f88;
  --secondary-navy-blue: #213345;
  --skeleton-bg: #e5e7eb;
  --skeleton-shimmer: #f3f4f6;
  --skeleton-radius-sm: 4px;
  --skeleton-radius-md: 8px;
  --skeleton-radius-lg: 16px;
}

/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  font-family: "Ubuntu", sans-serif;
  background-color: var(--body-bg);
  color: var(--gray900);
  line-height: 1.6;
}

button {
  background: none;
  border: none;
  cursor: pointer;
}

/* Utility Classes */
.flex {
  display: flex;
}

.column {
  flex-direction: column;
}

.justify_center {
  justify-content: center;
}

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

.align_center {
  align-items: center;
}

.p_10 {
  padding: 10px;
}

.grid {
  display: grid;
}

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

.grid_center {
  place-items: center;
}

.col_span_2 {
  grid-column: span 2;
}

.col_start_2 {
  grid-column-start: 2;
}

.section_card {
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
}

.max_width {
  max-width: 400px;
  width: 100%;
}

.h_auto {
  height: auto;
}

/* Login Center Wrapper */
.login_center_wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-image: url("/assets/Login-op3-D1d2AstO.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}

.p-password-panel {
  padding: 20px;
  font-family: "ubuntu", sans-serif;
}

.p-icon-field {
  width: 100%;
  display: flex;
  align-items: center;
}

.p-input-icon {
  top: 25%;
}

/* Form Styles */
.form_wrapper_parent {
  width: 50%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--background-color);
}

.form_wrapper {
  max-width: 61.5%;
}

.formside_parent {
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  width: 50%;
  background-color: var(--bg-base);
  padding: 40px;
}
.formside_parent .formside_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
  width: 100%;
  height: 80%;
}
.formside_parent .formside_content h1 {
  font-size: 24px;
}

.form_header {
  margin-bottom: 20px;
}

.form_header_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}

.form_description {
  color: var(--accent-gray-darkest);
  font-size: var(--font-size-small);
  text-align: left;
  line-height: 20px;
  margin-bottom: 24px;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0px;
}

.logo {
  height: 48px;
  width: auto;
}

.form {
  width: 100%;
}

.form_links_bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  padding: 0;
  text-align: center;
  gap: 10px;
}
.form_links_bottom .form_link {
  color: #118ab2;
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.form_links_bottom .form_link:hover {
  color: #118ab2;
}

.form_control:focus-visible {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
  outline: none;
}

.form_control.invalid {
  border-color: var(--secondary-red500);
  background: rgba(213, 31, 48, 0.1);
  color: var(--secondary-red500);
}

.form_input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: var(--font-size-normal);
  transition: border-color 0.3s ease;
  background: var(--light);
}

.form_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 2px var(--primary-hover200);
}

.form_input.error_input {
  border-color: var(--secondary-red500);
}

.form_group_btn_wrapper {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}

.show_password_btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}

.form_actions {
  margin-top: 10px;
}
.form_actions .btn_wrapper {
  width: 100%;
}
.form_actions button {
  width: 100%;
  padding: 12px 0;
  font-size: 14px;
  border-radius: 5px;
  background: var(--secondary-black-light);
  color: #fff;
  border: none;
  transition: background 0.2s;
  font-weight: var(--font-weight500);
}
.form_actions button:hover:not(:disabled) {
  background-color: var(--primary-red-dark);
}
.form_actions button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}

.success-message-modal-wrapper {
  border: 1px solid var(--accent-light-gray-light);
  padding: 40px 20px;
  box-shadow: 0px 0px 10px 0px rgba(203, 202, 202, 0.5019607843);
  border-radius: 8px;
}

.success-message-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
}

.modal-message {
  display: flex;
  flex-direction: column;
}

.show_password_btn:hover {
  background-color: var(--gray200);
}

.show_password_btn .icon {
  width: 20px;
  height: 20px;
  fill: var(--gray600);
}

.error_section {
  margin-top: 4px;
}

.error_text {
  color: var(--secondary-red500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: start;
}

.success_text {
  color: var(--secondary-green500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}

.success_icon {
  color: var(--secondary-green500);
  font-size: 16px;
  font-weight: bold;
}

.error_icon {
  color: var(--secondary-red500);
  font-size: 16px;
  font-weight: bold;
}

/* 2FA OTP Input Styles */
.otp_input_container {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 20px 0;
}

.otp_input {
  width: 38px;
  height: 38px;
  border: 1px solid var(--accent-light-gray-medium);
  border-radius: 6px;
  text-align: center;
  font-size: 18px;
  font-weight: var(--font-weight500);
  background: var(--background-white-pure);
  transition: all 0.3s ease;
}
.otp_input::placeholder {
  color: #9ca3af;
}
.otp_input:focus::placeholder {
  color: transparent;
}

.otp_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 1px var(--border-btn-default);
}

.otp_input.filled {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
}

.otp_input.error {
  border-color: var(--secondary-red500);
  background-color: rgba(220, 53, 69, 0.1);
}

.resend_link {
  background: none;
  border: none;
  color: #48a9ee;
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: color 0.3s ease;
}
.resend_link:hover {
  text-decoration: underline;
}

.resend_link:hover:not(:disabled) {
  color: var(--primary600);
}

.resend_link:disabled {
  color: var(--gray500);
  cursor: not-allowed;
}

.help_text {
  color: var(--primary500);
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}

.help_text:hover {
  color: var(--primary600);
}

/* Button Styles */
.btn_wrapper {
  width: 100%;
}

.btn_group_wrapper {
  margin-top: 20px;
}

.theme_button {
  width: 100%;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}

.theme_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.primary_btn {
  width: 100%;
  padding: 12px 0;
  font-size: 16px;
  border-radius: 5px;
  background: var(--primary500);
  color: #fff;
  border: none;
  transition: background 0.2s;
  margin-top: 1rem;
}

.primary_btn:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
}

.primary_btn:hover:not(:disabled) {
  background-color: var(--primary600);
}

.secondary_btn {
  background-color: var(--gray200);
  color: var(--gray800);
}

.secondary_btn:hover:not(:disabled) {
  background-color: var(--gray300);
}

/* Dashboard Styles */
.dashboard-page {
  height: 100%;
  background-color: var(--body-bg);
}

.dashboard-header {
  background: var(--light);
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.dashboard-header h1 {
  color: var(--primary500);
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
}

.logout-btn {
  background-color: var(--secondary-red500);
  color: var(--light);
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: var(--font-size-small);
  transition: background-color 0.3s ease;
}

.logout-btn:hover {
  background-color: var(--secondary-red600);
}

.dashboard_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: flex-start;
  padding-top: 40px;
  align-items: center;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

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

/* Dashboard Wrapper */
.dashboard_wrapper {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  padding-bottom: 0;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  align-items: center;
  overflow: hidden;
  overflow-y: auto;
}

/* Ensure the main content area has proper spacing only when input is fixed */
.dashboard_wrapper.has-fixed-input .dashboard_content {
  transition: padding-bottom 0.3s ease;
}

/* Ensure the main content area has proper spacing */
.dashboard_wrapper .dashboard_content {
  flex: 1;
  width: 100%;
  max-width: 1400px;
  transition: padding-bottom 0.3s ease;
}

/* Ensure the page content area works well with fixed input */
.page_content {
  overflow-y: auto;
  background: #f9fafb;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}

/* Dashboard split container for side-by-side layout */
.dashboard_split_container {
  display: flex;
  height: 100%;
  max-height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}

/* Dashboard wrapper takes 65-70% when source panel is open */
.dashboard_wrapper {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: flex 0.35s cubic-bezier(0.4, 0, 0.2, 1), margin 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: flex, margin, width;
}

/* When source panel is open, wrapper shrinks to make room */
.dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
  flex: 1 1 auto;
}

/* Dashboard content with independent scrolling */
.dashboard_content {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  /* Smooth scrolling */
  scroll-behavior: smooth;
  /* Custom scrollbar */
}
.dashboard_content::-webkit-scrollbar {
  width: 6px;
}
.dashboard_content::-webkit-scrollbar-track {
  background: transparent;
}
.dashboard_content::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}
.dashboard_content::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}

.forgot-password-button {
  border: 1px solid var(--bg-btn-default);
  margin-top: 10px;
}

/* Responsive adjustments for split-screen */
@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
  .dashboard_content {
    min-width: 0;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 768px) {
  .dashboard_split_container {
    position: relative;
  }
  .dashboard_content {
    min-width: 100%;
  }
  .dashboard_wrapper {
    width: 100%;
  }
  /* On mobile, source panel is overlay, wrapper stays full width */
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
  }
}
/* Only add bottom padding when there's a fixed input */
/* Sidebar hidden state - completely hide the sidebar */
.main_content.sidebar-hidden .modern_sidebar {
  display: none !important;
}

.main_content.sidebar-hidden .dashboard_split_container .dashboard_wrapper {
  margin-left: 0 !important;
}

/* Chat container width adjustment when source panel is open */
.dashboard_split_container:has(.source-panel.open) .chat_container {
  width: 90%;
}

/* Fixed Input - ensure it stays within chat area when source panel opens */
.dashboard_split_container .fixed_input {
  z-index: 100;
  /* Ensure it's above chat content but below source panel */
}

/* Collapsed sidebar adjustments for fixed_input */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
  max-width: calc(70vw - 65px - 80px);
}

@media (min-width: 1400px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(72vw - 65px - 80px);
  }
}
@media (max-width: 1200px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(65vw - 65px - 60px);
  }
}
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_input {
    /* On mobile, source panel is overlay, input stays full width */
    max-width: calc(100vw - 32px);
  }
}
/* Fixed Chat Input Wrapper */
.fixed_chat_input_wrapper {
  position: fixed;
  bottom: 0;
  left: 280px;
  /* Account for sidebar width */
  right: 0;
  z-index: 1000;
  background: #f8f8f8;
  border-top: 1px solid #e5e7eb;
  padding: 16px 32px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
  overflow: hidden;
}

/* Adjust for source panel open - use percentage matching panel width */
.dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  right: 30%;
}

@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 28%;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 35%;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 40%;
  }
}
/* Adjust for collapsed sidebar */
.main_content.sidebar-collapsed .fixed_chat_input_wrapper {
  left: 65px;
}

/* Adjust for collapsed sidebar + source panel open */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  left: 65px;
}

.conversation_tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversation_tile.active {
  background: #fff;
}

/* Responsive adjustments */
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .fixed_chat_input_wrapper {
    left: 0 !important;
    right: 0 !important;
    padding: 16px;
  }
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 0 !important;
  }
  .dashboard_content {
    padding: 20px;
    /*padding-bottom: 120px;*/
  }
  .center_input_section,
  .fixed_input_section {
    max-width: 100%;
    padding: 0 16px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .fixed_chat_input_wrapper {
    padding: 12px;
  }
  .dashboard_content {
    padding: 20px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 48px;
    height: 48px;
    padding: 10px;
  }
  .fixed_input_section {
    padding: 0 8px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
/* Ensure tooltips are always on top */
.tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--secondary-black-darkest);
  color: var(--background-white-main);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  z-index: 99999 !important;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  animation: tooltipFadeIn 0.2s ease-out;
}
.tooltip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--secondary-black-darkest);
}

@keyframes tooltipFadeIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* Ensure separator lines and borders are below tooltips */
/* Ensure answer containers don't clip tooltips */
.answer_container {
  overflow: visible !important;
  background-color: var(--accent-2);
  padding: 30px;
  border-radius: 10px;
  border: 1px solid var(--border-base);
}

/* Ensure chat containers don't clip tooltips */
.chat_container {
  overflow: visible !important;
}

/* Dashboard Header Section */
.dashboard_header_section {
  text-align: center;
  margin-bottom: 40px;
  /* Increased margin for better spacing */
  padding: 0 20px;
  width: 100%;
}

.dashboard_main_title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 10px;
  font-size: 36px;
  color: var(--secondary-color);
  line-height: 1.3;
}

.dashboard_subtitle {
  font-size: 16px;
  margin: 0;
  line-height: 1.5;
}

/* Dashboard Input Section */
.dashboard_input_section {
  margin-bottom: 48px;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}

/* Center Input Section - for first visit */
.center_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
}

.center_input_section .input_container {
  max-width: 1200px;
  height: 186px;
  /* Match the suggestions grid max-width */
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}

.center_input_section .input_container:focus-within {
  border-color: #d31f1f;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}

.input_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 18px;
  padding: 20px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  /* Gradient border using background-clip trick */
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* border gradient */
  background-origin: border-box;
  background-clip: padding-box, border-box;
}

.input_container:focus-within {
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* focus gradient */
}

/* Top section containing icons and input */
.input_top_section {
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #ffffff;
}

/* Left side icons container */
.input_left_icons {
  display: flex;
  background-color: #eaeaea;
  justify-content: space-between;
  align-items: center;
  border-right: 1px solid #f0f0f0;
  border-radius: 32px;
  padding: 0 10px;
  width: 88px;
  height: 28px;
}

/* Individual left icons */
.input_icon {
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  color: #6d8196;
  transform: scale(1.1);
}
.input_icon:hover {
  background: #f3f4f6;
  color: #374151;
  transform: scale(1.05);
}
.input_icon:active {
  transform: scale(0.95);
}

/* Bottom section containing buttons */
.input_bottom_section {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: flex-end;
}

/* Right side buttons container */
.input_right_buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
}

.input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  color: #6b7280;
}
.input_mic_btn:hover {
  background: #e5e7eb;
  color: #374151;
}

.input_submit_btn {
  background: var(--secondary-black-light);
  color: white;
  border: none;
  cursor: pointer;
  padding: 8px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}

.dashboard_input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 16px;
  color: #1f2937;
  background: transparent;
  border-radius: 0;
}
.dashboard_input::placeholder {
  color: #9ca3af;
  font-size: 16px;
}

/* Suggestions Section */
.suggestions_section {
  margin-bottom: 48px;
}

/* Suggestion Cards Styling */
.suggestions_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}

.suggestions_grid > .suggestion_card {
  flex: 1 1 300px;
  max-width: 1fr;
}

.suggestion_card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-width: 300px;
  max-width: 300px;
}
.suggestion_card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}

/* Card Header */
.card_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}

.card_heading {
  display: flex;
  align-items: center;
  gap: 12px;
}

.card_icon {
  font-size: 24px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}

/* Icon Colors */
.card_icon.growth {
  color: #10b981;
  /* Green for growth */
}

.card_icon.forecasting {
  color: #3b82f6;
  /* Blue for forecasting */
}

.card_icon.correlation {
  color: #f59e0b;
  /* Orange for correlation */
}

.card_title {
  font-size: 10px;
  font-weight: 400;
  color: var(--secondary-color);
}

/* Card Subtitle */
.card_subtitle {
  font-size: 16px;
  color: var(--secondary-color);
  font-weight: 500;
}

/* Card Content */
.card_description {
  display: block;
  color: #374151;
  line-height: 1.6;
}

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

.card_description.expanded {
  display: block;
}

.credits_wrapper {
  width: 98%;
  padding: 0px;
  position: sticky;
  top: 0;
  z-index: 100;
}

.card_link {
  color: #3b82f6;
  cursor: pointer;
  text-decoration: underline;
  font-weight: 500;
  font-size: 14px;
}
.card_link:hover {
  color: #2563eb;
}

/* Feedback Icons */
.card_feedback {
  display: flex;
  gap: 8px;
  align-items: center;
}

.feedback_icon {
  color: #9ca3af;
  font-size: 26px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.feedback_icon:hover {
  color: #6b7280;
  background-color: #f3f4f6;
}

/* Quick Actions Section */
.quick_actions_section {
  margin-bottom: 48px;
}

/* Responsive Dashboard Styles */
@media (max-width: 768px) {
  .dashboard_content {
    padding: 20px;
  }
  .dashboard_header_section {
    padding: 0 10px;
  }
  .dashboard_input_section {
    margin-bottom: 32px;
    padding: 0 10px;
  }
  .dashboard_input {
    font-size: 14px;
    padding: 10px 12px;
  }
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .quick_actions_grid {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
@media (max-width: 480px) {
  .dashboard_main_title {
    font-size: 20px;
  }
  .input_plus_btn,
  .input_mic_btn,
  .input_submit_btn {
    font-size: 14px;
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .card_title {
    font-size: 16px;
  }
  .card_description {
    font-size: 13px;
  }
}
.dashboard-content h2 {
  color: var(--gray800);
  margin-bottom: 20px;
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight600);
}

.user-info {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.user-info h3 {
  color: var(--gray800);
  margin-bottom: 10px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}

.user-info h4 {
  color: var(--gray800);
  margin: 20px 0 10px 0;
  font-size: var(--h5-font-size);
  font-weight: var(--font-weight600);
}

.user-details {
  margin-bottom: 20px;
}

.user-details p {
  margin: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
}

.user-details strong {
  color: var(--gray800);
  font-weight: var(--font-weight600);
}

.user-info pre {
  background: var(--gray100);
  padding: 15px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: var(--font-size-small);
  color: var(--gray800);
}

.dashboard-features {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.dashboard-features h3 {
  color: var(--gray800);
  margin-bottom: 15px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}

.dashboard-features ul {
  list-style: none;
  padding: 0;
}

.dashboard-features li {
  padding: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
  border-bottom: 1px solid var(--gray200);
}

.dashboard-features li:last-child {
  border-bottom: none;
}

/* Responsive Design */
@media (max-width: 768px) {
  .grid_cols_4 {
    grid-template-columns: 1fr;
  }
  .col_span_2 {
    grid-column: span 1;
  }
  .col_start_2 {
    grid-column-start: 1;
  }
  .max_width {
    max-width: 100%;
    margin: 0 20px;
  }
  .dashboard-content {
    padding: 20px;
  }
}
/* Pagination Styles */
.pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}

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

.pagination .btn_wrapper button {
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  background: var(--light);
  color: var(--text-secondary);
  font-size: var(--font-size-xsmall);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 40px;
  height: 36px;
  font-weight: var(--font-weight500);
  display: flex;
  align-items: center;
  justify-content: center;
}

.pagination .btn_wrapper button:hover:not(:disabled) {
  background: var(--gray75);
  border-color: var(--border-hover);
  color: var(--gray800);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pagination .btn_wrapper button.primary_btn {
  background: var(--primary500);
  color: var(--light);
  border-color: var(--primary500);
  box-shadow: 0 2px 4px rgba(17, 161, 253, 0.3);
}

.pagination .btn_wrapper button.primary_btn:hover {
  background: var(--primary600);
  border-color: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.4);
}

.pagination .btn_wrapper button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: var(--gray75);
  color: var(--gray500);
  transform: none;
  box-shadow: none;
}

/* Table Responsive Utilities */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

@media (max-width: 768px) {
  .pagination {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.pagination .btn_wrapper button {
  min-width: 36px;
  height: 32px;
  padding: 6px 10px;
  font-size: 11px;
}

.user-chat-container::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Edge */
}

.user-chat-container {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}
.user-chat-container h3 {
  font-weight: 400;
  padding: 10px;
  background-color: var(--gray200);
  border-radius: 10px;
  display: inline-block;
  align-self: flex-end;
}
.user-chat-container p {
  padding: 10px;
  text-align: left;
}
.user-chat-container .error-text {
  padding: 0;
  margin-left: 30px;
}

.empty_text {
  color: var(--accent-gray-medium);
}

.quick_actions_container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 20px;
}

/* Error Boundary Styles */
.error-boundary {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  padding: 40px;
}

.error-content {
  text-align: center;
  max-width: 500px;
}

.error-content h3 {
  color: var(--gray800);
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
}

.error-content p {
  color: var(--gray600);
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.5;
}

.retry-button {
  background: var(--primary500);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.retry-button:hover {
  background: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.3);
}

/* No Data Message Styles */
.no-data-message {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  margin: 20px 0;
}

.no-data-message p {
  color: var(--gray600);
  margin: 0;
  font-style: italic;
}

/* Error Display Styles */
.error-display {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}

.error-display h3 {
  color: #dc2626;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
}

.error-display p {
  color: #7f1d1d;
  margin-bottom: 16px;
  font-size: 14px;
}

/* Fixed Input Section */
.fixed_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 146px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  box-sizing: border-box;
}

/* Ensure input container is properly styled in fixed position */
.fixed_input_section .input_container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  width: 100%;
  max-width: 1200px;
  /* Increased from 800px to match dashboard content width */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.fixed_input_section .input_container:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}

/* Ensure the input field itself is properly styled */
.fixed_input_section .dashboard_input {
  background: transparent;
  border: none;
  outline: none;
  font-size: 16px;
  padding: 14px;
  color: #1f2937;
  flex: 1;
}
.fixed_input_section .dashboard_input::placeholder {
  color: #9ca3af;
}

/* Style the buttons in the fixed input */
.fixed_input_section .input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  color: #6b7280;
}
.fixed_input_section .input_mic_btn:hover {
  background: #f3f4f6;
}

.fixed_input_section .input_submit_btn {
  background: var(--primary500);
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 12px;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 54px;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  margin-left: 8px;
}
.fixed_input_section .input_submit_btn:hover {
  background: var(--primary600);
}

.settings-title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 24px 0;
  line-height: 1.3;
  text-align: start;
}

input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}

input[type=number] {
  -moz-appearance: textfield;
}

.reset-password-error {
  background: #f8d7da;
  color: var(--primary-red-dark);
  padding: 20px;
}

.send-reset-again {
  text-decoration: underline;
  cursor: pointer;
}

.react-joyride__spotlight {
  transform: scale(1.05);
  transition: transform 0.25s ease;
}

.page_content {
  overflow-y: auto !important;
  overflow-x: hidden;
}

.avatar-tooltip-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}

.avatar-tooltip-wrapper .tooltip {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  pointer-events: none;
}

.avatar-tooltip-wrapper:hover .tooltip {
  opacity: 1;
  visibility: visible;
}

/* Responsive Design */
@media (max-width: 768px) {
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .card_title {
    font-size: 18px;
  }
  .card_subtitle {
    font-size: 14px;
  }
  .center_input_section {
    max-width: 100%;
  }
  .center_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .suggestion_card {
    padding: 16px;
  }
  .card_icon {
    font-size: 20px;
    width: 28px;
    height: 28px;
  }
  .card_title {
    font-size: 16px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 40px;
    height: 40px;
    padding: 10px;
  }
  .center_input_section .input_mic_btn,
  .fixed_input_section .input_mic_btn {
    min-width: 36px;
    height: 36px;
    padding: 8px;
  }
  .center_input_section .input_icon,
  .fixed_input_section .input_icon {
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .center_input_section .input_left_icons,
  .fixed_input_section .input_left_icons {
    gap: 12px;
    padding: 0 12px;
  }
  .center_input_section .input_right_buttons,
  .fixed_input_section .input_right_buttons {
    gap: 8px;
    padding: 0;
  }
  .center_input_section .input_bottom_section,
  .fixed_input_section .input_bottom_section {
    padding: 8px 12px;
  }
}
.chat_container {
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin: 0 auto;
  width: 70dvw;
  padding: 20px 0;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: width;
}
.chat_container .question-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 10px;
}
.chat_container .question-container button {
  background: none;
  border: none;
}
.chat_container .question-container .question {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-2);
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-base);
  color: var(--accent-gray-darkest);
  font-weight: 400;
  font-size: 14px;
  text-align: left;
}
.chat_container .question-container .icon-group {
  display: flex;
  justify-content: flex-end;
  column-gap: 10px;
}
.chat_container .question-container .icon-group .icon {
  cursor: pointer;
  color: var(--gray800);
  font-size: 20px;
  transition: color 0.2s ease;
}
.chat_container .question-container .icon-group .icon:hover {
  color: var(--gray600);
}
.chat_container .question-container .loading-text {
  display: flex;
}

.toast-clamp-1 [role=status] {
  justify-content: start;
}

.toast-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
}

.toast-clamp-2 [role=status] {
  display: block;
  text-align: left;
}

.toast-success {
  background: var(--bg-alert-success);
  border: 1px solid var(--border-alert-success);
}

.toast-error {
  background: var(--bg-alert-error);
  border: 1px solid var(--border-alert-error);
}

@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.skeleton {
  position: relative;
  overflow: hidden;
  background-color: var(--skeleton-bg);
  border-radius: var(--skeleton-radius-sm);
  isolation: isolate;
}

/* ===== Shimmer Animation ===== */
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--skeleton-shimmer), transparent);
  animation: skeleton-shimmer 1.4s infinite;
}

@keyframes skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}
/* ===== Pulse fallback ===== */
@media (prefers-reduced-motion: reduce) {
  .skeleton::after {
    animation: none;
  }
}
/* ===== Types ===== */
.skeleton-title {
  height: 24px;
  width: 160px;
  margin-bottom: 16px;
  border-radius: var(--skeleton-radius-md);
}

.skeleton-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}

.skeleton-text {
  height: 14px;
  width: 100%;
  max-width: 140px;
  margin: 6px 0;
}

.skeleton-status {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}

/* ===== Card Skeleton ===== */
.skeleton-card {
  border: 1px solid #e2e8f0;
  border-radius: var(--skeleton-radius-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
}

/* ===== Layout helpers ===== */
.skeleton-row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.skeleton-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

/* ===== Grid helper ===== */
.skeleton-grid {
  display: grid;
  gap: 20px;
}

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

/* ===== Payment specific ===== */
.payment-skeleton {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.payment-skeleton-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.payment-skeleton-card {
  border-radius: 14px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
}

/* ===== Utility widths ===== */
.w-25 {
  width: 25%;
}

.w-40 {
  width: 40%;
}

.w-50 {
  width: 50%;
}

.w-60 {
  width: 60%;
}

.w-75 {
  width: 75%;
}

.w-100 {
  width: 100%;
}

/* ===== Heights ===== */
.h-10 {
  height: 10px;
}

.h-14 {
  height: 14px;
}

.h-18 {
  height: 18px;
}

.h-24 {
  height: 24px;
}

.h-32 {
  height: 32px;
}

.btn_spinner {
  width: 24px;
  height: 24px;
  border: 4px solid #ddd;
  border-top: 4px solid var(--primary-red-dark);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}

input[type=password]::-ms-reveal,
input[type=password]::-ms-clear {
  display: none;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
input.form_control::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

input.p-password-input::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

input.form_control::-webkit-input-placeholder,
input.p-password-input::-webkit-input-placeholder {
  color: var(--accent-gray-medium) !important;
}

input.form_control::-moz-placeholder,
input.p-password-input::-moz-placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}

.construction-wrapper {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 60vh;
  padding: 2rem;
}
.construction-wrapper .construction-card {
  background: #ffffff;
  border-radius: 12px;
  padding: 3rem 2rem;
  text-align: center;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  border: 1px solid #e2e8f0;
  max-width: 500px;
  width: 100%;
}
.construction-wrapper .construction-card .construction-icon {
  color: #11a1fd;
  margin-bottom: 1.5rem;
}
.construction-wrapper .construction-card .construction-icon svg {
  animation: bounce 2s infinite;
}
.construction-wrapper .construction-card .construction-title {
  font-size: 1.8rem;
  font-weight: 600;
  color: #2d3748;
  margin-bottom: 1rem;
}
.construction-wrapper .construction-card .construction-subtitle {
  font-size: 1rem;
  color: #4a5568;
  line-height: 1.6;
  margin: 0;
}
.construction-wrapper .construction-card a {
  text-decoration: none;
  color: var(--secondary-black);
}
.construction-wrapper .construction-card a:hover {
  text-decoration: underline;
}

@keyframes bounce {
  0%, 20%, 50%, 80%, 100% {
    transform: translateY(0);
  }
  40% {
    transform: translateY(-8px);
  }
  60% {
    transform: translateY(-4px);
  }
}
@media (max-width: 768px) {
  .construction-wrapper {
    padding: 1rem;
  }
  .construction-wrapper .construction-card {
    padding: 2rem 1.5rem;
  }
  .construction-wrapper .construction-card .construction-title {
    font-size: 1.5rem;
  }
  .construction-wrapper .construction-card .construction-subtitle {
    font-size: 0.9rem;
  }
}
@media (max-width: 480px) {
  .construction-wrapper .construction-card {
    padding: 1.5rem 1rem;
  }
  .construction-wrapper .construction-card .construction-title {
    font-size: 1.3rem;
  }
}/* Base Modal styles are inherited from ConfirmationModal.scss or defined here if needed */
/* We use .manage-delete-modal to scope refinements specifically for this modal */
.confirmation-modal-overlay.manage-delete-modal {
  /* Responsive adjustments */
}
.confirmation-modal-overlay.manage-delete-modal .confirmation-modal-container {
  padding: 0;
  max-width: 580px;
}
.confirmation-modal-overlay.manage-delete-modal .confirmation-modal-content {
  padding: 32px 32px 24px;
}
.confirmation-modal-overlay.manage-delete-modal .modal-message {
  margin-bottom: 20px;
}
.confirmation-modal-overlay.manage-delete-modal .modal-title {
  margin: 0 0 4px 0;
}
.confirmation-modal-overlay.manage-delete-modal .modal-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.confirmation-modal-overlay.manage-delete-modal .modal-body label,
.confirmation-modal-overlay.manage-delete-modal .modal-body .dropdown-label,
.confirmation-modal-overlay.manage-delete-modal .modal-body .input_label {
  color: var(--secondary-color) !important;
  margin-bottom: 6px !important;
  display: block;
}
.confirmation-modal-overlay.manage-delete-modal .modal-body .dropdown-trigger {
  height: 40px !important;
}
.confirmation-modal-overlay.manage-delete-modal .modal-body .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.confirmation-modal-overlay.manage-delete-modal .modal-body .confirmation-section {
  background: var(--bg-alert-error, #fff5f5);
  padding: 12px;
  border-radius: 12px;
  border: 1px dashed var(--primary-color, #e31e24);
  text-align: center;
}
.confirmation-modal-overlay.manage-delete-modal .modal-body .confirmation-section .modal-text {
  color: var(--primary-color, #e31e24);
  font-weight: 600;
}
.confirmation-modal-overlay.manage-delete-modal .modal-actions {
  display: flex;
  gap: 12px;
  justify-content: center;
}
@media (max-width: 640px) {
  .confirmation-modal-overlay.manage-delete-modal .form-row {
    grid-template-columns: 1fr !important;
    gap: 16px;
  }
  .confirmation-modal-overlay.manage-delete-modal .modal-actions {
    flex-direction: column;
  }
  .confirmation-modal-overlay.manage-delete-modal .modal-actions .modal-cancel-button,
  .confirmation-modal-overlay.manage-delete-modal .modal-actions .modal-confirm-button {
    width: 100%;
  }
}

/* Ensure global modal-success-icon remains visible for other modals */.sales_page {
  padding: 20px;
  width: 100%;
  text-align: start;
  line-height: 100%;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.sales_page .sales_page_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.sales_page .sales_page_header h2 {
  font-size: 24px;
  font-weight: 700;
  padding: 8px;
  color: var(--secondary-color);
}
.sales_page .sales_page_content {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
}
.sales_page .sales_metriccards_header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 0px;
}
.sales_page .metrics-scroll-container {
  width: 100%;
  overflow-x: auto;
  overflow-y: hidden;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.sales_page .metrics-scroll-container::-webkit-scrollbar {
  display: none;
}
.sales_page .metrics-grid {
  display: flex;
  gap: 20px;
  width: fit-content;
  padding: 2px;
}
.sales_page .metrics-card {
  flex: 0 0 calc(33.333% - 14px);
  width: 140px;
}
.sales_page .sales-trend-container {
  width: 100%;
  margin-top: 24px;
}
.sales_page .top-bottom-movers-container {
  width: 100%;
  margin-top: 24px;
}
@media (max-width: 1440px) {
  .sales_page .metrics-card {
    flex: 0 0 calc(50% - 10px);
    min-width: 350px;
    max-width: 420px;
  }
}
@media (max-width: 1200px) {
  .sales_page .metrics-card {
    min-width: 320px;
    max-width: 400px;
  }
}
@media (max-width: 1024px) {
  .sales_page .metrics-grid {
    gap: 16px;
  }
  .sales_page .metrics-card {
    min-width: 300px;
    max-width: 380px;
  }
}
@media (max-width: 768px) {
  .sales_page {
    padding: 16px;
  }
  .sales_page .sales_page_header h2 {
    font-size: 20px;
  }
  .sales_page .metrics-card {
    min-width: 280px;
    max-width: 350px;
  }
  .sales_page .sales-trend-container {
    margin-top: 20px;
  }
}
@media (max-width: 480px) {
  .sales_page {
    padding: 12px;
  }
  .sales_page .sales_page_header h2 {
    font-size: 18px;
  }
  .sales_page .metrics-grid {
    gap: 12px;
  }
  .sales_page .metrics-card {
    min-width: 260px;
    max-width: 320px;
  }
  .sales_page .sales-trend-container {
    margin-top: 16px;
  }
}
@media (max-width: 375px) {
  .sales_page {
    padding: 10px;
  }
  .sales_page .sales_page_header h2 {
    font-size: 16px;
  }
  .sales_page .metrics-grid {
    gap: 10px;
  }
  .sales_page .metrics-card {
    min-width: 240px;
    max-width: 300px;
  }
}
.sales_page .topbottom-skeleton {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}
.sales_page .topbottom-skeleton .skeleton-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f3f4f6;
}
.sales_page .topbottom-skeleton .skeleton-header .skeleton-title {
  width: 200px;
  height: 24px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}
.sales_page .topbottom-skeleton .skeleton-header .skeleton-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}
.sales_page .topbottom-skeleton .skeleton-header .skeleton-actions .skeleton-btn {
  width: 40px;
  height: 40px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}
.sales_page .topbottom-skeleton .skeleton-header .skeleton-actions .skeleton-search {
  width: 200px;
  height: 40px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 8px;
}
.sales_page .topbottom-skeleton .skeleton-table {
  padding: 0;
}
.sales_page .topbottom-skeleton .skeleton-table .skeleton-header-row {
  display: flex;
  background: #1f2937;
  padding: 12px 16px;
}
.sales_page .topbottom-skeleton .skeleton-table .skeleton-header-row .skeleton-th {
  flex: 1;
  height: 20px;
  background: rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  margin-right: 16px;
}
.sales_page .topbottom-skeleton .skeleton-table .skeleton-header-row .skeleton-th:last-child {
  margin-right: 0;
}
.sales_page .topbottom-skeleton .skeleton-table .skeleton-row {
  display: flex;
  padding: 12px 16px;
  border-bottom: 1px solid #f3f4f6;
}
.sales_page .topbottom-skeleton .skeleton-table .skeleton-row .skeleton-td {
  flex: 1;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  margin-right: 16px;
}
.sales_page .topbottom-skeleton .skeleton-table .skeleton-row .skeleton-td:last-child {
  margin-right: 0;
}
.sales_page .topbottom-skeleton .skeleton-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #f3f4f6;
}
.sales_page .topbottom-skeleton .skeleton-footer .skeleton-info {
  width: 180px;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}
.sales_page .topbottom-skeleton .skeleton-footer .skeleton-pagination {
  display: flex;
  gap: 4px;
}
.sales_page .topbottom-skeleton .skeleton-footer .skeleton-pagination .skeleton-page-btn {
  width: 36px;
  height: 32px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 6px;
}
.sales_page .topbottom-error {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 48px 24px;
  text-align: center;
}
.sales_page .topbottom-error h3 {
  font-size: 18px;
  font-weight: 600;
  color: #991b1b;
  margin-bottom: 8px;
}
.sales_page .topbottom-error p {
  font-size: 14px;
  color: #6b7280;
}
@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}.metrics-card {
  background: var(--background-color);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 20px;
  transition: box-shadow 0.2s ease;
  width: 140px !important;
  flex: 0 0 auto;
}
.metrics-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.05);
}
.metrics-card__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 16px;
  padding-bottom: 0;
  border-bottom: none;
}
.metrics-card__header .header-left {
  display: flex;
  align-items: center;
  gap: 4px;
  flex: 1;
}
.metrics-card__header .header-right {
  display: flex;
  align-items: center;
  gap: 0px;
}
.metrics-card__title {
  font-size: 18px;
  font-weight: 700;
  color: #1e293b;
  margin: 0;
}
.metrics-card .header-icons {
  display: flex;
  align-items: center;
}
.metrics-card .icon-btn {
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
  color: #94a3b8;
  transition: all 0.2s ease;
}
.metrics-card .icon-btn:hover {
  background: #f1f5f9;
  color: #64748b;
}
.metrics-card .icon-btn.info-icon svg {
  width: 16px;
  height: 16px;
}
.metrics-card .icon-btn.lightbulb-icon {
  color: #9810FA;
}
.metrics-card .icon-btn.lightbulb-icon svg {
  width: 16px;
  height: 16px;
}
.metrics-card .icon-btn.lightbulb-icon.active {
  color: #94a3b8;
}
.metrics-card .icon-btn.feedback-icon svg {
  width: 18px;
  height: 18px;
}
.metrics-card .icon-btn.feedback-icon.active {
  color: var(--primary500);
  background: #e0f2fe;
}
.metrics-card__content {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.metrics-card .content-section-title {
  font-size: 14px;
  font-weight: 600;
  color: var(--secondary-color);
  margin: 0 0 12px 0;
}
.metrics-card .metrics-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}
.metrics-card .metric-item {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.metrics-card .metric-label {
  font-size: 14px;
  color: #64748b;
  font-weight: 400;
}
.metrics-card .metric-value-row {
  display: flex;
  align-items: baseline;
  gap: 4px;
  margin-bottom: 4px;
}
.metrics-card .metric-value {
  font-size: 24px;
  font-weight: 700;
  color: #1e293b;
  line-height: 1.2;
}
.metrics-card .metric-base {
  font-size: 14px;
  color: #94a3b8;
  font-weight: 500;
}
@media (max-width: 1024px) {
  .metrics-card .metrics-grid {
    gap: 20px;
  }
}
@media (max-width: 768px) {
  .metrics-card {
    padding: 16px;
  }
  .metrics-card__title {
    font-size: 15px;
  }
  .metrics-card .metrics-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }
  .metrics-card .metric-value {
    font-size: 22px;
  }
  .metrics-card .header-icons {
    gap: 2px;
  }
  .metrics-card .header-right {
    gap: 4px;
  }
}
@media (max-width: 480px) {
  .metrics-card {
    padding: 14px;
  }
  .metrics-card__header {
    flex-wrap: wrap;
    gap: 8px;
  }
  .metrics-card__title {
    font-size: 14px;
  }
  .metrics-card .header-left {
    width: 100%;
  }
  .metrics-card .header-right {
    width: 100%;
    justify-content: flex-end;
  }
  .metrics-card .metric-value {
    font-size: 20px;
  }
  .metrics-card .metric-label {
    font-size: 13px;
  }
}
@media (max-width: 375px) {
  .metrics-card {
    padding: 12px;
  }
  .metrics-card .metric-value {
    font-size: 18px;
  }
  .metrics-card .metric-base {
    font-size: 12px;
  }
}
.insights-section {
  background: #f5f3ff;
  border: 1px solid #e9d5ff;
  border-radius: 8px;
  padding: 12px;
  margin-top: 12px;
  position: relative;
  transition: all 0.2s ease;
}
.insights-section .insights-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 12px;
  color: #9810FA;
}
.insights-section .insights-header svg {
  width: 16px;
  height: 16px;
  flex-shrink: 0;
}
.insights-section .insights-title {
  font-size: 16px;
  font-weight: 800;
  color: #1e293b;
  margin: 0;
  flex: 1;
}
.insights-section .close-btn {
  background: transparent;
  border: none;
  padding: 2px;
  cursor: pointer;
  color: #94a3b8;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}
.insights-section .close-btn svg {
  width: 10px;
  height: 10px;
}
.insights-section .close-btn:hover {
  color: #64748b;
}
.insights-section .insights-list {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.insights-section .insights-list li {
  font-size: 14px;
  line-height: 1.5;
  color: #475569;
  padding-left: 18px;
  position: relative;
}
.insights-section .insights-list li::before {
  content: "•";
  position: absolute;
  left: 4px;
  color: #64748b;
  font-weight: bold;
}

@media (max-width: 768px) {
  .insights-section {
    padding: 10px;
  }
  .insights-section .insights-list li {
    font-size: 12px;
  }
}.metric-change {
  font-size: 14px;
  font-weight: 500;
  display: inline-flex;
  align-items: center;
  gap: 2px;
}

@media (max-width: 375px) {
  .metric-change {
    font-size: 12px;
  }
}.skeleton {
  background: #f3f4f6;
  background: linear-gradient(90deg, #f3f4f6 25%, #e5e7eb 50%, #f3f4f6 75%);
  background-size: 200% 100%;
  animation: skeleton-loading 1.5s infinite;
  border-radius: 4px;
}

@keyframes skeleton-loading {
  0% {
    background-position: 200% 0;
  }
  100% {
    background-position: -200% 0;
  }
}
.skeleton-text {
  height: 1rem;
  width: 100%;
  margin-bottom: 0.5rem;
}

.skeleton-title {
  height: 1.5rem;
  width: 60%;
  margin-bottom: 1rem;
}

.skeleton-circle {
  border-radius: 50%;
}

.skeleton-rect {
  width: 100%;
  height: 100%;
}.metrics-card.skeleton-card {
  pointer-events: none;
  width: 230px;
  flex: 0 0 auto;
}
.metrics-card.skeleton-card .skeleton-insights-placeholder {
  width: 100%;
}
.metrics-card.skeleton-card .metric-value-row {
  display: flex;
  align-items: center;
  gap: 8px;
}.scroll-buttons-group {
  display: flex;
  align-items: center;
  gap: 8px;
}

.scroll-button {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
  border-radius: 6px;
  border: 1px solid var(--border-base, #e2e8f0);
  background: var(--background-color, #ffffff);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease-in-out;
  color: var(--accent-gray-darkest, #64748b);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}
.scroll-button:hover:not(:disabled) {
  background: var(--background-color, #ffffff);
  border-color: var(--secondary-color, #2d3748);
  color: var(--secondary-color, #2d3748);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.scroll-button:active:not(:disabled) {
  transform: scale(0.95);
}
.scroll-button.disabled, .scroll-button:disabled {
  cursor: not-allowed;
  background: #f8f9fa;
  color: #cbd5e1;
  border-color: #e2e8f0;
  pointer-events: none;
  box-shadow: none;
}
.scroll-button.disabled svg, .scroll-button:disabled svg {
  color: #cbd5e1;
}
.scroll-button svg {
  width: 18px;
  height: 18px;
}

@media (max-width: 1024px) {
  .scroll-button {
    width: 36px;
    height: 36px;
  }
  .scroll-button svg {
    width: 18px;
    height: 18px;
  }
}
@media (max-width: 768px) {
  .scroll-buttons-group {
    gap: 6px;
  }
  .scroll-button {
    width: 32px;
    height: 32px;
  }
  .scroll-button svg {
    width: 16px;
    height: 16px;
  }
}
@media (max-width: 480px) {
  .scroll-buttons-group {
    gap: 4px;
  }
  .scroll-button {
    width: 28px;
    height: 28px;
  }
  .scroll-button svg {
    width: 14px;
    height: 14px;
  }
}.sales-trend-chart {
  width: 100%;
  height: 100%;
  min-height: 314px;
}
.sales-trend-chart canvas {
  max-width: 100%;
  height: auto !important;
}

@media (max-width: 1024px) {
  .sales-trend-chart {
    min-height: 350px;
  }
}
@media (max-width: 768px) {
  .sales-trend-chart {
    min-height: 300px;
  }
}
@media (max-width: 480px) {
  .sales-trend-chart {
    min-height: 250px;
  }
}.split-screen-chart {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
}
.split-screen-chart .echarts-for-react {
  flex: 1;
  min-height: 500px;
}.sales-trend-section.skeleton-trend {
  pointer-events: none;
}
.sales-trend-section.skeleton-trend .sales-trend-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f1f5f9;
}
.sales-trend-section.skeleton-trend .header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sales-trend-section.skeleton-trend .insights-sidebar-skeleton {
  width: 300px;
  padding: 24px;
  background: #f8fafc;
  border-left: 1px solid #f1f5f9;
  height: 100%;
}
@media (max-width: 1100px) {
  .sales-trend-section.skeleton-trend .insights-sidebar-skeleton {
    display: none;
  }
}.fullscreen-overlay-wrapper {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: var(--bg-modal-overlay);
  backdrop-filter: blur(8px);
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2.5rem;
  animation: overlayFadeIn 0.3s ease-out;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-container {
  background: var(--background-white-main);
  width: 100%;
  height: 100%;
  max-width: 1600px;
  border-radius: 1rem;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  animation: containerSlideUp 0.3s ease-out;
}
@media (max-width: 768px) {
  .fullscreen-overlay-wrapper .fullscreen-overlay-container {
    border-radius: 0;
  }
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 1.5rem 2rem;
  border-bottom: 1px solid var(--border-base);
  flex-wrap: wrap;
  gap: 1rem;
}
@media (max-width: 640px) {
  .fullscreen-overlay-wrapper .fullscreen-overlay-header {
    padding: 1rem;
  }
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest);
  margin: 0;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions {
  display: flex;
  align-items: center;
  gap: 1rem;
  /* Shared styles for premium header actions (Dropdowns and Action Buttons) */
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown {
  margin-right: 0;
  min-width: 180px;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-trigger {
  height: 38px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-white-main) !important;
  padding: 0 12px;
  box-shadow: none;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-trigger .dropdown-value {
  font-size: var(--font-size-small);
  color: var(--secondary-black-darkest);
  font-weight: var(--font-weight500);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-trigger .dropdown-arrow {
  color: var(--text-secondary);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-trigger .dropdown-arrow.open {
  transform: rotate(180deg);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-menu {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-base);
  margin-top: 4px;
  padding: 4px;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-menu .dropdown-option {
  padding: 10px 12px;
  border-radius: 6px;
  font-size: var(--font-size-small);
  color: var(--accent-gray-darkest);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-menu .dropdown-option:hover {
  background: var(--accent-light-gray-lightest);
  color: var(--secondary-black-darkest);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .timeframe-dropdown .dropdown-menu .dropdown-option.selected {
  background: var(--accent-light-gray-medium);
  color: var(--secondary-black-darkest);
  font-weight: var(--font-weight500);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .action-icon-btn {
  background: transparent;
  border: none;
  padding: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  border-radius: 6px;
  transition: all 0.2s ease;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .action-icon-btn:hover {
  background: var(--accent-light-gray-lightest);
  color: var(--secondary-black-darkest);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .action-icon-btn.insight-toggle {
  color: #9810FA;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .action-icon-btn.insight-toggle.active {
  color: var(--text-secondary);
  background: transparent;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .action-icon-btn svg {
  stroke-width: 2px;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .overlay-close-btn {
  background: transparent;
  border: none;
  padding: 0.5rem;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  border-radius: 0.5rem;
  transition: all 0.2s ease;
  margin-left: 0.5rem;
}
.fullscreen-overlay-wrapper .fullscreen-overlay-header .overlay-actions .overlay-close-btn:hover {
  background: var(--bg-alert-error);
  color: var(--primary-red-main);
}
.fullscreen-overlay-wrapper .fullscreen-overlay-content {
  flex: 1;
  padding: 2rem;
  overflow: auto;
  display: flex;
  flex-direction: column;
  background: var(--body-bg);
}

@keyframes overlayFadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes contentScaleUp {
  from {
    opacity: 0;
    transform: scale(0.95) translateY(10px);
  }
  to {
    opacity: 1;
    transform: scale(1) translateY(0);
  }
}
/* Specific overrides for components inside the overlay */
.fullscreen-overlay-content .chart-wrapper {
  height: 100%;
  border: none !important;
  box-shadow: none !important;
  padding: 0 !important;
  background: transparent !important;
}
.fullscreen-overlay-content .chart-wrapper .chart-header {
  display: none !important;
}
.fullscreen-overlay-content .chart-wrapper .chart-content {
  flex: 1;
  padding: 0;
}.sales-trend-section {
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  width: 100%;
  overflow: hidden;
}
.sales-trend-section .sales-trend-content {
  display: flex;
  align-items: stretch;
  min-height: 580px;
}
.sales-trend-section .main-chart-column {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  padding: clamp(12px, 2vw, 24px);
  border-right: 1px solid #f1f5f9;
  overflow: hidden;
}
.sales-trend-section .sales-trend-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: clamp(8px, 2vw, 24px);
  padding-bottom: 12px;
  border-bottom: 1px solid #f1f5f9;
  flex-wrap: wrap;
  gap: clamp(6px, 1.5vw, 16px);
}
.sales-trend-section .sales-trend-header .header-left {
  flex: 1;
  min-width: 150px;
}
.sales-trend-section .sales-trend-header .header-right {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.sales-trend-section .sales-trend-header .header-right .header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  /* Shared styles for premium header actions (Dropdowns and Action Buttons) */
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown {
  margin-right: 0;
  min-width: 180px;
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-trigger {
  height: 38px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-white-main) !important;
  padding: 0 12px;
  box-shadow: none;
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-trigger .dropdown-value {
  font-size: var(--font-size-small);
  color: var(--secondary-black-darkest);
  font-weight: var(--font-weight500);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-trigger .dropdown-arrow {
  color: var(--text-secondary);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-trigger .dropdown-arrow.open {
  transform: rotate(180deg);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-menu {
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-base);
  margin-top: 4px;
  padding: 4px;
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-menu .dropdown-option {
  padding: 10px 12px;
  border-radius: 6px;
  font-size: var(--font-size-small);
  color: var(--accent-gray-darkest);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-menu .dropdown-option:hover {
  background: var(--accent-light-gray-lightest);
  color: var(--secondary-black-darkest);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .timeframe-dropdown .dropdown-menu .dropdown-option.selected {
  background: var(--accent-light-gray-medium);
  color: var(--secondary-black-darkest);
  font-weight: var(--font-weight500);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .action-icon-btn {
  background: transparent;
  border: none;
  padding: 6px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--text-secondary);
  border-radius: 6px;
  transition: all 0.2s ease;
}
.sales-trend-section .sales-trend-header .header-right .header-actions .action-icon-btn:hover {
  background: var(--accent-light-gray-lightest);
  color: var(--secondary-black-darkest);
}
.sales-trend-section .sales-trend-header .header-right .header-actions .action-icon-btn.insight-toggle {
  color: #9810FA;
}
.sales-trend-section .sales-trend-header .header-right .header-actions .action-icon-btn.insight-toggle.active {
  color: var(--text-secondary);
  background: transparent;
}
.sales-trend-section .sales-trend-header .header-right .header-actions .action-icon-btn svg {
  stroke-width: 2px;
}
.sales-trend-section .section-breadcrumb {
  display: flex;
  align-items: center;
  gap: 6px;
  font-family: "Outfit", sans-serif;
  font-size: clamp(14px, 1.5vw, 18px);
  font-weight: 500;
  color: #64748b;
  flex-wrap: wrap;
}
.sales-trend-section .section-breadcrumb .breadcrumb-item {
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}
.sales-trend-section .section-breadcrumb .breadcrumb-item:hover {
  color: #1e293b;
}
.sales-trend-section .section-breadcrumb .breadcrumb-item.active {
  color: #1e293b;
  font-weight: 600;
  cursor: default;
}
.sales-trend-section .section-breadcrumb .breadcrumb-separator {
  color: #cbd5e1;
  font-weight: 300;
}
.sales-trend-section .section-title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight500);
  color: var(--secondary-black-darkest);
  margin: 0;
  font-family: inherit;
}
.sales-trend-section .chart-area {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.sales-trend-section .chart-area .chart-wrapper {
  border: none;
  padding: 0;
  margin: 0;
  box-shadow: none;
}
.sales-trend-section .chart-area .chart-wrapper .chart-header {
  display: none !important;
}
.sales-trend-section .chart-area .chart-wrapper .chart-content {
  padding: 0;
}
.sales-trend-section .chart-area .store-breadcrumb-bar {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 8px 4px;
  font-size: var(--font-size-small);
  color: var(--text-secondary);
}
.sales-trend-section .chart-area .store-breadcrumb-bar .store-breadcrumb-item {
  cursor: pointer;
  transition: color 0.2s;
}
.sales-trend-section .chart-area .store-breadcrumb-bar .store-breadcrumb-item:hover:not(.active) {
  color: var(--secondary-color);
  text-decoration: underline;
}
.sales-trend-section .chart-area .store-breadcrumb-bar .store-breadcrumb-item.active {
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  cursor: default;
}
.sales-trend-section .chart-area .store-breadcrumb-bar .store-breadcrumb-separator {
  color: var(--accent-gray-light);
}
.sales-trend-section .insights-sidebar {
  width: clamp(200px, 20vw, 240px);
  background: #faf5ff;
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
}
.sales-trend-section .insights-sidebar-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 16px 12px;
}
.sales-trend-section .insights-sidebar-header .insights-title-group {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sales-trend-section .insights-sidebar-header .insights-title-group .insights-main-icon {
  color: #9810FA;
  display: flex;
  align-items: center;
}
.sales-trend-section .insights-sidebar-header .insights-title {
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight500);
  color: var(--secondary-black-darkest);
  margin: 0;
}
.sales-trend-section .insights-sidebar-header .close-insights-btn {
  background: transparent;
  border: none;
  padding: 4px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #cbd5e1;
  transition: all 0.2s ease;
}
.sales-trend-section .insights-sidebar-header .close-insights-btn svg {
  width: 12px;
  height: 12px;
}
.sales-trend-section .insights-sidebar-header .close-insights-btn:hover {
  color: #94a3b8;
}
.sales-trend-section .insights-content {
  padding: 0 16px 16px;
  overflow-y: auto;
  flex: 1;
}
.sales-trend-section .insight-item {
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f3e8ff;
}
.sales-trend-section .insight-item:last-child {
  border-bottom: none;
  margin-bottom: 0;
  padding-bottom: 0;
}
.sales-trend-section .insight-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 10px;
}
.sales-trend-section .insight-header .insight-bullet {
  color: #64748b;
  font-size: 18px;
  line-height: 1;
}
.sales-trend-section .insight-header .insight-text {
  flex: 1;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  color: var(--secondary-black-darkest);
}
.sales-trend-section .insight-header .trend-icon {
  flex-shrink: 0;
  color: #10b981;
}
.sales-trend-section .insight-description {
  font-size: var(--font-size-xsmall);
  color: var(--accent-gray-medium);
  line-height: 1.5;
  margin: 0 0 clamp(6px, 1.5vw, 12px) 18px;
}
.sales-trend-section .insight-sparkline {
  padding-left: 18px;
  opacity: 0.6;
}
@media (max-width: 1280px) {
  .sales-trend-section .insights-sidebar {
    width: 200px;
  }
  .sales-trend-section .insights-sidebar-header {
    padding: 16px 12px 10px;
  }
  .sales-trend-section .insights-content {
    padding: 0 12px 12px;
  }
}
@media (max-width: 1024px) {
  .sales-trend-section .sales-trend-content {
    flex-direction: column;
    min-height: auto;
  }
  .sales-trend-section .main-chart-column {
    border-right: none;
    border-bottom: 1px solid #f1f5f9;
  }
  .sales-trend-section .chart-area {
    min-height: 400px;
  }
  .sales-trend-section .insights-sidebar {
    width: 100%;
    max-height: 280px;
    border-top: 1px solid #f1f5f9;
  }
  .sales-trend-section .insights-content {
    flex-direction: row;
    flex-wrap: wrap;
    gap: 12px;
  }
  .sales-trend-section .insight-item {
    flex: 1;
    min-width: 200px;
    margin-bottom: 12px;
    padding-bottom: 12px;
  }
}
@media (max-width: 768px) {
  .sales-trend-section .sales-trend-header {
    flex-direction: column;
    align-items: flex-start;
  }
  .sales-trend-section .sales-trend-header .header-right {
    width: 100%;
    justify-content: flex-start;
  }
  .sales-trend-section .section-title {
    font-size: 16px;
  }
  .sales-trend-section .section-breadcrumb {
    font-size: 14px;
  }
  .sales-trend-section .chart-area {
    min-height: 300px;
  }
  .sales-trend-section .insights-sidebar {
    max-height: 240px;
  }
}.sunburst-chart {
  width: 100%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sunburst-chart .echarts-for-react {
  flex: 1;
  min-height: 400px;
}
.sunburst-chart.sunburst-empty {
  min-height: 400px;
  background: #f8fafc;
  border-radius: 12px;
}
.sunburst-chart.sunburst-empty p {
  color: #94a3b8;
  font-size: 14px;
  font-family: "Inter", sans-serif;
}.sales-trend-section.skeleton-trend {
  pointer-events: none;
}
.sales-trend-section.skeleton-trend .sales-trend-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
  padding-bottom: 16px;
  border-bottom: 1px solid #f1f5f9;
}
.sales-trend-section.skeleton-trend .header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.sales-trend-section.skeleton-trend .insights-sidebar-skeleton {
  width: 300px;
  padding: 24px;
  background: #f8fafc;
  border-left: 1px solid #f1f5f9;
  height: 100%;
}
@media (max-width: 1100px) {
  .sales-trend-section.skeleton-trend .insights-sidebar-skeleton {
    display: none;
  }
}.column-filter-dropdown {
  position: absolute;
  top: 100%;
  left: 0;
  margin-top: 8px;
  background: var(--bg-container, #ffffff);
  border: 1px solid var(--border-base, #e2e2e2);
  border-radius: 8px;
  box-shadow: 0 10px 40px rgba(0, 0, 0, 0.15);
  z-index: 1000;
  min-width: 220px;
  max-height: 400px;
  display: flex;
  flex-direction: column;
}

.dropdown-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-nav, #f3f4f6);
  font-weight: var(--font-weight500, 500);
  font-size: 14px;
  color: var(--secondary-black-darkest, #171717);
}
.dropdown-header .close-btn {
  background: none;
  border: none;
  font-size: 20px;
  color: var(--accent-gray-medium, #6d8196);
  cursor: pointer;
  padding: 0;
  line-height: 1;
}
.dropdown-header .close-btn:hover {
  color: var(--secondary-black-darkest, #171717);
}

.dropdown-search {
  padding: 12px 16px;
  border-bottom: 1px solid var(--border-nav, #f3f4f6);
}
.dropdown-search input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border-base, #e2e2e2);
  border-radius: 6px;
  font-size: 13px;
  outline: none;
  background: var(--background-white-pure, #f7f7f7);
  color: var(--secondary-black-darkest, #171717);
}
.dropdown-search input::placeholder {
  color: var(--accent-gray-lightest, #95abc1);
}
.dropdown-search input:focus {
  border-color: var(--primary-red-main, #d31f1f);
  background: var(--background-white-main, #ffffff);
}

.dropdown-options {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
  max-height: 200px;
}

.checkbox-item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 16px;
  cursor: pointer;
  font-size: 13px;
  color: var(--accent-gray-medium, #6d8196);
  transition: background 0.2s;
}
.checkbox-item:hover {
  background: var(--background-white-pure, #f7f7f7);
  color: var(--secondary-black-darkest, #171717);
}
.checkbox-item input[type=checkbox] {
  width: 16px;
  height: 16px;
  accent-color: var(--secondary-black-darkest, #171717);
  cursor: pointer;
}

.dropdown-footer {
  display: flex;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--border-nav, #f3f4f6);
}
.dropdown-footer .clear-btn,
.dropdown-footer .apply-btn {
  flex: 1;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: var(--font-weight500, 500);
  cursor: pointer;
  transition: all 0.2s;
}
.dropdown-footer .clear-btn {
  background: transparent;
  border: 1px solid var(--primary-red-main, #d31f1f);
  color: var(--primary-red-main, #d31f1f);
}
.dropdown-footer .clear-btn:hover {
  background: var(--background-white-pure, #f7f7f7);
}
.dropdown-footer .apply-btn {
  background: var(--secondary-black-darkest, #171717);
  border: 1px solid var(--secondary-black-darkest, #171717);
  color: #ffffff;
}
.dropdown-footer .apply-btn:hover {
  background: var(--primary-red-main, #d31f1f);
  border-color: var(--primary-red-main, #d31f1f);
}

@media (max-width: 768px) {
  .column-filter-dropdown {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    margin-top: 0;
    width: calc(100vw - 32px);
    max-width: 320px;
    max-height: 80vh;
  }
  .dropdown-options {
    max-height: 40vh;
  }
}
@media (max-width: 600px) {
  .column-filter-dropdown {
    width: calc(100vw - 24px);
    max-width: none;
    border-radius: 12px;
  }
  .dropdown-header {
    padding: 16px;
    font-size: 16px;
  }
  .dropdown-search {
    padding: 12px 16px;
  }
  .dropdown-search input {
    padding: 10px 14px;
    font-size: 14px;
  }
  .checkbox-item {
    padding: 12px 16px;
    font-size: 14px;
  }
  .checkbox-item input[type=checkbox] {
    width: 18px;
    height: 18px;
  }
  .dropdown-footer {
    padding: 16px;
  }
  .dropdown-footer .clear-btn,
  .dropdown-footer .apply-btn {
    padding: 10px 16px;
    font-size: 14px;
  }
}.topbottom-card {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  height: 580px;
  display: flex;
  flex-direction: column;
}

.topbottom-card-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f3f4f6;
}

.topbottom-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin: 0;
}

.topbottom-search-container {
  display: flex;
  align-items: center;
  gap: 12px;
}

.filter-icon-container {
  position: relative;
}

.filter-icon-btn {
  color: #6b7280;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 10px;
  background: transparent;
  border: none;
  border-radius: 8px;
  transition: all 0.2s;
  min-width: 40px;
  min-height: 40px;
}
.filter-icon-btn:hover {
  color: #374151;
  background: #f3f4f6;
}

.search-box input {
  padding: 10px 16px;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  font-size: 14px;
  width: 200px;
  outline: none;
  color: #374151;
}
.search-box input::placeholder {
  color: #9ca3af;
}
.search-box input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}

.topbottom-table-container {
  overflow-x: auto;
  flex: 1;
  overflow-y: auto;
}

.topbottom-table-wrapper {
  width: 100%;
  overflow-x: auto;
  scroll-behavior: smooth;
  -webkit-overflow-scrolling: touch;
}

.topbottom-table {
  width: 100%;
  border-collapse: collapse;
  background: white;
  margin: 0;
  table-layout: auto;
}

.topbottom-table th,
.topbottom-table td {
  font-size: 13px;
  color: #374151;
  background: #fff;
  font-weight: 400;
  padding: 12px 16px;
  border: none;
  border-bottom: 1px solid #f3f4f6;
  text-align: left;
  vertical-align: middle;
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  line-height: 1.4;
  min-width: 120px;
  white-space: nowrap;
}

.topbottom-table thead th {
  background: var(--secondary-black-darkest, #1f2937);
  color: #ffffff;
  font-weight: 600;
  font-size: 12px;
  padding: 12px 16px;
  border: none;
  border-bottom: 1px solid var(--secondary-black-darkest, #1f2937);
  text-align: left;
  vertical-align: middle;
  position: relative;
  z-index: 10;
  white-space: nowrap;
  height: 48px;
}

.topbottom-table tbody tr:hover td {
  background: #f8f9fa;
}

.topbottom-table th.fixed-col,
.topbottom-table td.fixed-col {
  position: sticky;
  left: 0;
  z-index: 15;
  min-width: 180px;
}

.topbottom-table th.fixed-col {
  background: var(--secondary-black-darkest, #1f2937);
  z-index: 20;
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.1);
}

.topbottom-table td.fixed-col {
  background: #fff;
  box-shadow: 2px 0 6px -2px rgba(0, 0, 0, 0.1);
}

.topbottom-table tbody tr:hover td.fixed-col {
  background: #f8f9fa;
}

.topbottom-table thead .sort_icon_wrapper {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 18px;
  margin-left: 8px;
  gap: 1px;
  width: auto !important;
  background: transparent !important;
  border-radius: 0 !important;
  overflow: visible !important;
  position: static !important;
}

.topbottom-table thead .sort_icon_wrapper .icon {
  font-size: 10px;
  color: #ffffff;
  opacity: 0.6;
  width: 10px;
  height: 8px;
  line-height: 1;
}

.topbottom-table thead .sort_icon_wrapper .icon.active {
  opacity: 1;
}

.topbottom-table thead .th_wrapper {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  width: 100%;
  gap: 4px;
}

.topbottom-table thead .th_title {
  background: transparent;
  border: none;
  padding: 0;
  margin: 0;
  font: inherit;
  color: inherit;
  display: flex;
  align-items: center;
  cursor: pointer;
  white-space: nowrap;
}

.performance-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 4px 16px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  min-width: 60px;
}
.performance-badge.top {
  background: #ffffff;
  color: #10b981;
  border: 1px solid #10b981;
}
.performance-badge.bottom {
  background: #ffffff;
  color: #ef4444;
  border: 1px solid #ef4444;
}

.topbottom-card-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #f3f4f6;
  background: #ffffff;
}

.pagination-info {
  color: #6b7280;
  font-size: 14px;
}

.pagination-controls {
  display: flex;
  gap: 4px;
}

.pagination-btn {
  padding: 6px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
  min-width: 36px;
}
.pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
}
.pagination-btn.active {
  background: var(--secondary-color, #991b1b);
  border-color: var(--secondary-color, #991b1b);
  color: white;
}
.pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

/* Responsive adjustments */
@media (max-width: 900px) {
  .topbottom-table th,
  .topbottom-table td {
    padding: 8px 12px;
    font-size: 12px;
  }
}
@media (max-width: 768px) {
  .topbottom-card-header {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }
  .topbottom-search-container {
    width: 100%;
  }
  .search-box {
    flex: 1;
  }
  .search-box input {
    width: 100%;
  }
}
@media (max-width: 600px) {
  .topbottom-card-footer {
    flex-direction: column;
    gap: 16px;
  }
  .topbottom-card-header {
    padding: 16px;
  }
  .topbottom-card-footer {
    padding: 12px 16px;
  }
  .topbottom-search-container {
    flex-wrap: wrap;
    gap: 8px;
  }
  .search-box {
    order: 2;
    width: 100%;
  }
  .search-box input {
    width: 100%;
  }
  .filter-icon-container {
    order: 1;
  }
  .pagination-controls {
    flex-wrap: wrap;
    justify-content: center;
  }
  .pagination-btn {
    padding: 8px 10px;
    font-size: 13px;
  }
}.topbottom-skeleton {
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  overflow: hidden;
  min-height: 580px;
}

@keyframes shimmer {
  0% {
    background-position: -200% 0;
  }
  100% {
    background-position: 200% 0;
  }
}
.skeleton-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 20px 24px;
  border-bottom: 1px solid #f3f4f6;
}
.skeleton-header .skeleton-title {
  width: 200px;
  height: 24px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}
.skeleton-header .skeleton-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}
.skeleton-header .skeleton-actions .skeleton-btn {
  width: 40px;
  height: 40px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  border-radius: 8px;
}
.skeleton-header .skeleton-actions .skeleton-search {
  width: 200px;
  height: 40px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  border-radius: 8px;
}

.skeleton-table {
  padding: 0;
}
.skeleton-table .skeleton-header-row {
  display: flex;
  background: #1f2937;
  padding: 12px 16px;
  gap: 16px;
}
.skeleton-table .skeleton-header-row .skeleton-th {
  flex: 1;
  height: 20px;
  background: rgba(255, 255, 255, 0.15);
  border-radius: 4px;
}
.skeleton-table .skeleton-row {
  display: flex;
  padding: 12px 16px;
  border-bottom: 1px solid #f3f4f6;
  gap: 16px;
}
.skeleton-table .skeleton-row .skeleton-td {
  flex: 1;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}

.skeleton-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #f3f4f6;
}
.skeleton-footer .skeleton-info {
  width: 180px;
  height: 16px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
}
.skeleton-footer .skeleton-pagination {
  display: flex;
  gap: 4px;
}
.skeleton-footer .skeleton-pagination .skeleton-page-btn {
  width: 36px;
  height: 32px;
  background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%);
  background-size: 200% 100%;
  animation: shimmer 1.5s infinite;
  border-radius: 4px;
  border-radius: 6px;
}

@media (max-width: 768px) {
  .skeleton-header {
    flex-direction: column;
    gap: 12px;
    align-items: flex-start;
  }
  .skeleton-header .skeleton-actions {
    width: 100%;
  }
  .skeleton-header .skeleton-search {
    flex: 1;
  }
}
@media (max-width: 600px) {
  .skeleton-footer {
    flex-direction: column;
    gap: 12px;
  }
}.dashboard_sidebar {
  position: fixed;
  left: 0;
  top: 0;
  height: 100vh;
  z-index: 200;
}

.sidebar {
  height: 100%;
  display: flex;
}

.module_sidebar {
  height: 100%;
  display: flex;
}

.sidebar_wrapper {
  display: flex;
  height: 100%;
}

.icons_sidebar {
  width: 60px;
  background: var(--secondary-navy-blue);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  padding: 20px 0;
}

.icons_sidebar_scrollbar {
  flex: 1;
  overflow-y: auto;
}

.sidebar_nav {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.nav_link {
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.3s ease;
  color: var(--gray400);
}
.nav_link:hover {
  background: rgba(255, 255, 255, 0.1);
  color: var(--light);
}
.nav_link.active {
  background: var(--primary500);
  color: var(--light);
}
.nav_link .nav_link_icon {
  width: 20px;
  height: 20px;
}

.icons_sidebar_footer {
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}

.profile_wrapper {
  text-decoration: none;
  color: inherit;
}

.icon_wrapper {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--light);
  transition: background 0.3s ease;
  border: none;
}
.icon_wrapper svg.dictate {
  color: #6d8196;
  transition: color 0.3s ease, opacity 0.6s ease;
}
.icon_wrapper svg.dictate.listening {
  color: var(--secondary-red500);
  animation: blink 1.2s infinite;
}

@keyframes blink {
  0% {
    opacity: 0.3;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0.3;
  }
}
.profile_icon {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.detailed_sidebar {
  width: 220px;
  background: var(--light);
  border-right: 1px solid var(--gray200);
  display: flex;
  flex-direction: column;
  transition: all 0.3s ease;
}
.detailed_sidebar.opened {
  transform: translateX(0);
}
.detailed_sidebar.closed {
  transform: translateX(-100%);
}

.burger_menu_wrapper {
  padding: 15px;
  display: flex;
  justify-content: flex-end;
}

.burger_menu {
  width: 20px;
  height: 2px;
  background: var(--gray600);
  position: relative;
  cursor: pointer;
}
.burger_menu::before, .burger_menu::after {
  content: "";
  position: absolute;
  width: 20px;
  height: 2px;
  background: var(--gray600);
  transition: all 0.3s ease;
}
.burger_menu::before {
  top: -6px;
}
.burger_menu::after {
  bottom: -6px;
}

.detailed_sidebar_scrollbar {
  flex: 1;
  overflow-y: auto;
  padding: 20px 0;
}

.sidebar_module_tab_wrapper {
  margin-bottom: 10px;
}

.sidebar_module_tab {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 12px 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  text-decoration: none;
  color: var(--gray700);
}
.sidebar_module_tab:hover {
  background: var(--gray100);
}
.sidebar_module_tab.active {
  background: var(--primary500);
  color: var(--light);
}

.sidebar_module_tab_content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sidebar_module_icon_wrapper {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.sidebar_module_title {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
}

.detailed_sidebar_footer {
  padding: 20px;
  border-top: 1px solid var(--gray200);
}

.profile_details {
  margin-left: 12px;
}

.profile_title {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight600);
  color: var(--gray800);
  margin-bottom: 4px;
}

.profile_subtitle {
  font-size: var(--font-size-small);
  color: var(--gray600);
}

.nav_link_icon_wrapper {
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 8px;
}

/* Responsive Design */
@media (max-width: 1599px) {
  .detailed_sidebar {
    position: absolute;
    left: 60px;
    top: 0;
    height: 100%;
    box-shadow: 2px 0 10px rgba(0, 0, 0, 0.1);
  }
}
/* Modern Sidebar Styles */
.modern_sidebar {
  height: 100%;
  width: 18.75rem;
  min-width: 17rem;
  background: #f5f5f5;
  color: #4a5568;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid #e2e8f0;
  transition: all 0.3s ease;
  font-family: "Ubuntu", sans-serif;
  overflow: hidden;
  /* Mobile states */
  /* Tablet responsiveness */
  /* Mobile responsiveness */
}
.modern_sidebar .custom_icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  flex-shrink: 0;
}
.modern_sidebar.collapsed {
  min-width: 65px;
  max-width: 65px;
}
.modern_sidebar.collapsed .nav_label,
.modern_sidebar.collapsed .conversations_title,
.modern_sidebar.collapsed .footer_label,
.modern_sidebar.collapsed .user_name,
.modern_sidebar.collapsed .upgrade_text {
  display: none;
}
.modern_sidebar.collapsed .sidebar_logo {
  width: 26px;
  height: 26px;
}
.modern_sidebar.collapsed .nav_item {
  justify-content: center;
  padding: 8px 4px;
  height: 40px;
  width: 40px;
}
.modern_sidebar.collapsed .nav_menu {
  align-items: center;
}
.modern_sidebar.collapsed .collapsed_search_container {
  margin: 0 auto;
  padding: 8px 0;
}
.modern_sidebar.collapsed .user_profile {
  justify-content: center;
}
.modern_sidebar.collapsed .user_profile .user_info {
  display: none;
}
.modern_sidebar.collapsed .upgrade_button {
  width: 30px;
  height: 30px;
  padding: 8px;
  margin: 8px auto;
  border-radius: 16%;
}
.modern_sidebar.collapsed .upgrade_button .nav_icon {
  margin: 0;
}
.modern_sidebar.collapsed .submenu_items {
  display: none;
}
.modern_sidebar.collapsed .submenu_arrow {
  display: none;
}
.modern_sidebar.collapsed .sidebar_footer .nav_item {
  justify-content: center;
  padding: 8px 0;
}
.modern_sidebar.collapsed .conversations_section {
  padding: 0;
  margin-top: 8px;
}
.modern_sidebar.mobile-closed {
  transform: translateX(-100%);
}
.modern_sidebar.mobile-open {
  transform: translateX(0);
  z-index: 200;
}
@media (max-width: 1024px) {
  .modern_sidebar {
    width: 280px;
  }
  .modern_sidebar .nav_label,
  .modern_sidebar .conversations_title,
  .modern_sidebar .user_name,
  .modern_sidebar .upgrade_text {
    display: block;
  }
  .modern_sidebar .sidebar_logo {
    width: 60px;
    height: auto;
  }
  .modern_sidebar .nav_item {
    justify-content: flex-start;
    padding: 6px 8px;
  }
  .modern_sidebar .user_profile {
    justify-content: flex-start;
  }
  .modern_sidebar .user_profile .user_info {
    display: block;
  }
  .modern_sidebar .upgrade_button {
    justify-content: flex-start;
    padding: 6px 8px;
  }
  .modern_sidebar .submenu_items {
    display: block;
  }
  .modern_sidebar .submenu_arrow {
    display: block;
  }
  .modern_sidebar.collapsed {
    width: 65px;
  }
  .modern_sidebar.collapsed .nav_label,
  .modern_sidebar.collapsed .conversations_title,
  .modern_sidebar.collapsed .user_name,
  .modern_sidebar.collapsed .upgrade_text {
    display: none;
  }
  .modern_sidebar.collapsed .sidebar_logo {
    width: 26px;
    height: 26px;
  }
  .modern_sidebar.collapsed .nav_item {
    justify-content: center;
    padding: 6px 4px;
  }
  .modern_sidebar.collapsed .user_profile {
    justify-content: center;
  }
  .modern_sidebar.collapsed .user_profile .user_info {
    display: none;
  }
  .modern_sidebar.collapsed .upgrade_button {
    justify-content: center;
    padding: 6px 4px;
  }
  .modern_sidebar.collapsed .submenu_items {
    display: none;
  }
  .modern_sidebar.collapsed .submenu_arrow {
    display: none;
  }
}
@media (max-width: 768px) {
  .modern_sidebar.mobile-closed {
    transform: translateX(-100%);
  }
  .modern_sidebar.mobile-open {
    transform: translateX(0);
    z-index: 200;
  }
}

.sidebar_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 15px;
  min-height: 48px;
  color: #718096;
  font-size: 14px;
  font-weight: 400;
  margin-top: 15px;
}
.collapsed .sidebar_header {
  justify-content: center;
}

.logo_section {
  display: flex;
  align-items: center;
}

.sidebar_logo {
  width: 100px;
  height: auto;
  transition: width 0.3s ease;
}

.collapse_button {
  background: none;
  border: none;
  color: #718096;
  cursor: pointer;
  padding: 6px;
  border-radius: 6px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.collapse_button:hover {
  color: var(--secondary-black-darkest);
}
.collapsed .collapse_button {
  padding: 6px 0;
  margin-top: 2px;
}

.collapse_arrow {
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.collapse_button:hover .collapse_arrow {
  filter: brightness(0) saturate(100%);
}
.collapse_arrow.rotated {
  transform: rotate(180deg);
}

.collapsed .collapse_arrow {
  transform: rotate(180deg);
}

.sidebar_navigation {
  overflow-y: auto;
  overflow-x: visible;
  position: relative;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.sidebar_navigation::-webkit-scrollbar {
  display: none;
}

.nav_menu {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 0 15px;
  margin-top: 12px;
  margin-bottom: 12px;
}

.nav_item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border-radius: 6px;
  color: #4a5568;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  height: 36px;
}
.nav_item:hover {
  background: #ffffff;
  color: var(--secondary-color);
}
.nav_item:hover .custom_icon {
  filter: brightness(0) saturate(100%) invert(23%) sepia(20%) saturate(1089%) hue-rotate(174deg) brightness(96%) contrast(94%);
}
.nav_item.active {
  background: #ffffff;
  color: var(--secondary-black-darkest);
  font-weight: 500;
}
.nav_item.active .nav_label {
  font-weight: 500;
}
.nav_item.active .nav_icon {
  font-weight: 500;
  color: var(--secondary-black-darkest);
  transform: scale(1.1);
}
.nav_item.active .nav_icon .custom_icon {
  filter: brightness(0) saturate(100%) invert(10%) sepia(10%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(95%);
  transform: scale(1.1);
}

.submenu_trigger {
  border: none;
  width: 100%;
  height: 36px;
  text-align: left;
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  color: #4a5568;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  background-color: transparent;
}
.submenu_trigger:hover {
  background: #ffffff;
  color: #2d3748;
}
.submenu_trigger.active {
  background: #ffffff;
  color: var(--secondary-black-darkest);
  font-weight: 700;
}
.submenu_trigger.active .nav_icon {
  font-weight: 700;
  color: var(--secondary-black-darkest);
  transform: scale(1.1);
}
.submenu_trigger.active .nav_label {
  font-weight: 700;
}
.submenu_trigger .submenu_arrow {
  transition: transform 0.2s ease;
  margin-left: auto;
  flex-shrink: 0;
}
.submenu_trigger .submenu_arrow.expanded {
  transform: rotate(90deg);
}
.submenu_trigger.active .submenu_arrow {
  color: var(--secondary-black-darkest);
}

.nav_icon {
  font-size: 16px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.nav_icon .custom_icon {
  width: 18px;
  height: 18px;
  object-fit: contain;
  filter: brightness(0) saturate(100%) invert(33%) sepia(13%) saturate(753%) hue-rotate(182deg) brightness(93%) contrast(84%);
}

.nav_label {
  font-size: var(--font-size-small);
  font-weight: 400;
  transition: all 0.2s ease;
}

.submenu_arrow {
  font-size: var(--font-size-small);
  color: var(--gray400);
  transition: transform 0.2s ease;
}
.submenu_arrow.expanded {
  transform: rotate(180deg);
}

.submenu_items {
  margin-left: 18px;
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 0 0 0 8px;
}

.submenu_item {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 8px 12px;
  border-radius: 6px;
  color: #4a5568;
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  font-size: 14px;
  font-weight: 400;
  width: 100%;
  margin-left: 0;
  background: transparent;
  height: 36px;
}
.submenu_item:hover {
  color: var(--secondary-black-darkest);
}
.submenu_item:hover .custom_icon {
  filter: brightness(0) saturate(100%) invert(23%) sepia(20%) saturate(1089%) hue-rotate(174deg) brightness(96%) contrast(94%);
}
.submenu_item.active {
  color: var(--secondary-black-darkest);
  font-weight: 500;
}
.submenu_item.active .nav_label {
  font-weight: 500;
}
.submenu_item.active .nav_icon {
  font-weight: 500;
  color: var(--secondary-black-darkest);
  transform: scale(1.1);
}
.submenu_item.active .nav_icon .custom_icon {
  filter: brightness(0) saturate(100%) invert(10%) sepia(10%) saturate(1500%) hue-rotate(180deg) brightness(95%) contrast(95%);
  transform: scale(1.1);
}
.submenu_item .nav_icon {
  font-size: 16px;
  width: 20px;
  height: 20px;
}
.submenu_item .nav_icon .custom_icon {
  filter: brightness(0) saturate(100%) invert(33%) sepia(13%) saturate(753%) hue-rotate(182deg) brightness(93%) contrast(84%);
}

.nav_separator {
  height: 1px;
  background: #e2e8f0;
  margin: 12px 0px;
}

.conversations_section {
  padding: 0 15px;
  flex: 1;
  margin-top: 20px;
  overflow: visible;
  position: relative;
  z-index: 1;
}
.conversations_section .collapsed_search_container {
  display: flex;
  justify-content: center;
  width: 40px;
  margin: 0 auto;
  padding: 8px 0;
}

.conversations_header {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 10px;
}
.conversations_header .conversations_header_left {
  display: flex;
  align-items: center;
  padding: 0 0px;
  justify-content: space-between;
}

.conversations_icon {
  font-size: 14px;
  width: 16px;
  height: 16px;
  color: #718096;
  flex-shrink: 0;
}

.conversations_title {
  font-size: 14px;
  font-weight: 400;
  color: #94a3b8;
  text-align: center;
}
.conversations_title .conversations_title_inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversations_title .conversations_title_inner .clear_all_conversation {
  border: none;
  color: red;
  font-size: 12px;
  opacity: 0.5;
  cursor: pointer;
}
.conversations_title .conversations_title_inner .clear_all_conversation:hover {
  opacity: 1;
}

.conversations_list {
  display: flex;
  flex-direction: column;
  gap: 10px;
  overflow: visible;
  height: 40dvh;
}
.conversations_list .virtualized_list {
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.conversations_list .virtualized_list::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.sidebar_footer {
  padding: 0 15px;
  display: flex;
  flex-direction: column;
}
.collapsed .sidebar_footer {
  align-items: center;
}
.sidebar_footer .nav_item {
  padding: 8px 12px;
  display: flex;
  align-items: center;
}
.sidebar_footer .footer_label {
  font-size: 14px;
  font-weight: 400;
}
.sidebar_footer .nav_icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
}

.user_profile_container {
  position: relative;
  margin-bottom: 10px;
}

.user_profile {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 6px;
  color: var(--accent-gray-medium);
  text-decoration: none;
  transition: all 0.2s ease;
  cursor: pointer;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
}
.user_profile:hover {
  background: var(--background-white-main);
  color: var(--secondary-black-darkest);
}

.user_avatar {
  width: 16px;
  height: 16px;
  font-size: 16px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

.user_icon {
  font-size: 16px;
  width: 16px;
  height: 16px;
  color: var(--gray600);
}

.user_info {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
}

.user_name {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  color: var(--gray700);
}

.user_menu {
  background: none;
  border: none;
  color: var(--gray600);
  cursor: pointer;
  font-size: var(--font-size-normal);
  padding: 6px;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.user_menu:hover {
  color: var(--gray800);
  background: var(--gray100);
}

.user_dropdown {
  position: absolute;
  bottom: 100%;
  left: 0;
  right: 0;
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.15);
  margin-bottom: 8px;
  z-index: 1000;
  overflow: hidden;
  border: 1px solid var(--gray200);
}

.dropdown_item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  color: var(--gray700);
  cursor: pointer;
  transition: all 0.2s ease;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight400);
}
.dropdown_item:hover {
  background: var(--gray100);
  color: var(--gray900);
}
.dropdown_item:last-child {
  border-bottom: none;
}

.dropdown_icon {
  font-size: 16px;
  color: var(--gray600);
}

.dropdown_label {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight400);
}

.upgrade_button {
  width: 100%;
  height: 40px;
  background: #333;
  color: #ffffff;
  border: none;
  border-radius: 6px;
  padding: 12px 14px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  cursor: pointer;
  font-size: 14px;
  font-weight: var(--font-weight500);
  transition: all 0.3s ease;
  margin: 8px 0;
}
.upgrade_button .nav_icon {
  color: #ffffff;
  width: 20px;
  height: 20px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.upgrade_button .upgrade_icon {
  width: 18px;
  height: 18px;
  filter: brightness(0) invert(1);
  /* Makes SVG white */
}
.upgrade_button:hover {
  background: var(--primary-red-main);
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);
}
.upgrade_button:active {
  transform: translateY(0);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
.upgrade_button.collapsed {
  width: 40px;
  height: 40px;
  padding: 8px;
  margin: 8px auto;
  border-radius: 50%;
}
.upgrade_button.collapsed .nav_icon {
  margin: 0;
}
.upgrade_button.collapsed:hover {
  background: var(--primary-red-main);
  transform: translateY(-2px);
}
.upgrade_button.collapsed:active {
  transform: translateY(0);
}

.upgrade_arrow {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight700);
}

.upgrade_text {
  text-align: center;
  font-weight: 500;
  letter-spacing: 0.25px;
}

.no_results {
  text-align: center;
  padding: 16px;
  color: #999;
  font-size: 14px;
}.conversation_tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
  cursor: pointer;
  padding: 6px 12px;
  color: var(--gray800);
  border-radius: 6px;
  overflow: visible;
  margin-bottom: 2px;
  position: relative;
  height: 36px;
  /* Fixed height for consistent alignment with menu items */
  /* Menu dropdown styled to match the clean white design in screenshot */
  /* Global style for menu dropdown when rendered in portal */
}
.conversation_tile .conversation_text {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  line-clamp: 1;
  -webkit-box-orient: vertical;
  text-overflow: ellipsis;
  white-space: normal;
  overflow: hidden;
  flex-grow: 1;
  font-size: 14px;
  color: #4a5568;
  max-width: calc(100% - 25px);
  min-width: 0;
}
.conversation_tile .conversation_actions {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  min-width: 20px;
  overflow: visible;
  z-index: 0;
}
.conversation_tile .menu_button {
  background: none;
  border: none;
  padding: 1px 2px;
  margin-left: 4px;
  cursor: pointer;
  color: #94a3b8;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  /* Hide by default */
  transition: opacity 0.2s ease, color 0.2s ease;
  line-height: 1;
}
.conversation_tile .menu_button:hover {
  color: #64748b;
}
.conversation_tile .menu_button.active {
  opacity: 1;
  /* Always show when menu is open */
  color: #64748b;
  /* Darker color when active */
}
.conversation_tile .menu_button .more_icon {
  font-size: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.conversation_tile:hover .menu_button {
  opacity: 1;
  /* Show on hover */
}
.conversation_tile .menu_dropdown {
  background: white;
  border-radius: 4px;
  display: flex;
  flex-direction: column;
  position: fixed;
  /* For portal rendering */
  z-index: 99999;
  transform-origin: top right;
  animation: fadeIn 0.15s ease-out forwards;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  min-width: 100px;
  overflow: visible;
  border: none;
  padding: 6px 0;
  font-family: "Ubuntu", sans-serif;
  width: 110px;
}
.conversation_tile body > .menu_dropdown {
  position: fixed;
  z-index: 99999;
  background: white;
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  animation: fadeIn 0.15s ease-out forwards;
}
.conversation_tile .menu_item {
  display: flex;
  flex-direction: row;
  align-items: center;
  padding: 8px 12px;
  width: 100%;
  text-align: left;
  background: none;
  border: none;
  cursor: pointer;
  color: #4a5568;
  transition: all 0.2s ease;
  font-size: 14px;
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  margin-bottom: 1px;
  gap: 10px;
}
.conversation_tile .menu_item:hover {
  background: #f9fafb;
}
.conversation_tile .menu_item .menu_icon {
  font-size: 16px;
  width: 18px;
  height: 18px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #718096;
  flex-shrink: 0;
}
.conversation_tile .menu_item span {
  font-weight: 400;
}
.conversation_tile .menu_item.rename .menu_icon {
  color: #718096;
}
.conversation_tile .menu_item.archive .menu_icon {
  color: #718096;
}
.conversation_tile .menu_item.delete {
  color: #f56565;
}
.conversation_tile .menu_item.delete .menu_icon {
  color: #f56565;
}
.conversation_tile .menu_item.delete:hover {
  background: #fff5f5;
}

.nav_item.conversation_tile {
  opacity: 0;
  transform: translateY(-20px);
  animation: dropIn 0.35s ease forwards;
  position: relative;
}

@keyframes dropIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-5px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}/* Styles for portal-rendered elements that exist outside normal component hierarchy */
.menu_dropdown {
    position: fixed;
    z-index: 100000;
    left: 316px;
    background: white;
    border-radius: 4px;
    display: flex;
    flex-direction: column;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
    min-width: 100px;
    overflow: visible;
    border: none;
    padding: 6px 0;
    font-family: 'Ubuntu', sans-serif;
    width: 110px;
    animation: portalFadeIn 0.15s ease-out forwards;
}

.menu_item {
    display: flex;
    flex-direction: row;
    align-items: center;
    padding: 8px 12px;
    width: 100%;
    text-align: left;
    background: none;
    border: none;
    cursor: pointer;
    color: #4a5568;
    transition: all 0.2s ease;
    font-size: 14px;
    font-family: 'Ubuntu', sans-serif;
    font-weight: 400;
    margin-bottom: 1px;
    gap: 10px;
}

.menu_item:hover {
    background: #f9fafb;
}

.menu_item .menu_icon {
    font-size: 16px;
    width: 18px;
    height: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #718096;
    flex-shrink: 0;
}

.menu_item span {
    font-weight: 400;
}

.menu_item.rename .menu_icon {
    color: #718096;
}

.menu_item.archive .menu_icon {
    color: #718096;
}

.menu_item.delete {
    color: #f56565;
}

.menu_item.delete .menu_icon {
    color: #f56565;
}

.menu_item.delete:hover {
    background: #fff5f5;
}

@keyframes portalFadeIn {
    from {
        opacity: 0;
        transform: translateY(-5px);
    }

    to {
        opacity: 1;
        transform: translateY(0);
    }
}/* Modern Layout Styles */
.modern_layout {
  display: flex;
  min-height: 100vh;
  background: #f9fafb;
  position: relative;
}

.main_content {
  flex: 1;
  margin-left: 280px;
  min-height: 100vh;
  background: #fff;
  transition: margin-left 0.3s ease;
  display: flex;
  flex-direction: column;
  width: calc(100% - 280px);
}
.main_content.sidebar-collapsed {
  margin-left: 65px;
  width: calc(100% - 65px);
}

.inner_container {
  display: flex;
  align-items: center;
  height: calc(100dvh - 70px);
  transition: width 0.3s ease;
  width: 100%;
}

.page_content {
  width: 100%;
  height: 100%;
  overflow-y: auto;
  background: #f9fafb;
  align-items: center;
}

.sidebar_overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  z-index: 150;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.sidebar_overlay.active {
  opacity: 1;
}

.mobile_menu_toggle {
  display: none;
  position: fixed;
  top: 16px;
  left: 16px;
  z-index: 250;
  background: var(--primary500);
  color: white;
  border: none;
  border-radius: 8px;
  padding: 10px;
  /* Reduced from 12px */
  cursor: pointer;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  transition: all 0.2s ease;
}
.mobile_menu_toggle:hover {
  background: var(--primary600);
  transform: translateY(-1px);
}
.mobile_menu_toggle svg {
  width: 18px;
  /* Reduced from 20px */
  height: 18px;
}

/* Responsive adjustments */
@media (max-width: 1024px) {
  .main_content {
    margin-left: 280px;
    width: calc(100% - 280px);
  }
  .main_content.sidebar-collapsed {
    margin-left: 65px;
    width: calc(100% - 65px);
  }
}
@media (max-width: 768px) {
  .modern_layout {
    overflow-x: hidden;
  }
  .main_content {
    margin-left: 0;
    width: 100%;
  }
  .main_content.sidebar-collapsed {
    margin-left: 0;
    width: 100%;
  }
  .mobile_menu_toggle {
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .sidebar_overlay {
    display: block;
  }
  .sidebar_overlay.active {
    display: block;
  }
}
@media (max-width: 480px) {
  .page_content {
    padding: 10px 10px 10px 45px;
  }
  .mobile_menu_toggle {
    top: 12px;
    left: 12px;
    padding: 8px;
  }
}.selected-filters-bar {
  background: var(--bg-container, #ffffff);
  border-bottom: 1px solid var(--border-nav, #f3f4f6);
  width: 100%;
  padding: 8px 20px;
  display: flex;
  align-items: center;
  gap: 16px;
  position: sticky;
  top: 0;
  z-index: 50;
}

.selected-filters-bar__chips {
  flex: 1;
  min-width: 0;
}

.selected-filters-bar__clear {
  flex-shrink: 0;
}

.selected-filters-list {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  margin: 0;
  padding: 0;
  list-style: none;
  gap: 8px;
}

.selected-filters-list__category {
  display: flex;
  align-items: center;
  margin-right: 4px;
  margin-bottom: 8px;
  font-weight: var(--font-weight400, 400);
  font-size: var(--font-size-small, 14px);
  font-family: inherit;
  color: var(--secondary-black-darkest, #171717);
}
.selected-filters-list__category strong {
  font-weight: var(--font-weight500, 500);
  color: var(--secondary-black-darkest, #171717);
  font-size: var(--font-size-small, 14px);
}

.selected-filters-list__chip {
  margin-bottom: 8px;
}

.selected-chip {
  background: var(--accent-light-gray-lightest, #f0f0f0);
  border: 1px solid var(--border-base, #e2e2e2);
  border-radius: 8px;
  padding: 4px 12px;
  font-size: 12px;
  font-family: inherit;
  color: var(--accent-gray-medium, #6d8196);
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}
.selected-chip:hover {
  background: var(--background-white-pure, #f7f7f7);
  border-color: var(--accent-gray-lightest, #95abc1);
}

.selected-chip__remove {
  background: none;
  border: none;
  color: var(--accent-gray-medium, #6d8196);
  font-weight: 500;
  font-size: 14px;
  margin-left: 8px;
  cursor: pointer;
  line-height: 1;
  padding: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.2s;
}
.selected-chip__remove:hover {
  color: var(--primary-red-main, #d31f1f);
}

.clear-link {
  background: none;
  border: none;
  color: var(--secondary-black-darkest, #171717);
  border-radius: 6px;
  padding: 4px 16px;
  font-size: 14px;
  font-weight: var(--font-weight500, 500);
  cursor: pointer;
  font-family: inherit;
  text-decoration: none;
  transition: all 0.2s ease;
  margin-top: 2px;
}
.clear-link:hover {
  text-decoration: underline;
  color: var(--primary-red-main, #d31f1f);
}

.badge-btn {
  background: var(--accent-gray-medium, #6d8196);
  color: var(--background-white-main, #FFFFFF);
  border: none;
  border-radius: 8px;
  padding: 6px 10px;
  margin-bottom: 10px;
  font-size: 12px;
  cursor: pointer;
  font-family: inherit;
  display: inline-flex;
  align-items: center;
  transition: background 0.2s;
}
.badge-btn:hover {
  background: var(--secondary-black-darkest, #3a4347);
}
.badge-btn.active {
  background: var(--secondary-black-darkest, #171717);
}/* Welcome Modal Styles */
.welcome-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(68, 68, 68, 0.8509803922);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 9999;
  padding: 20px;
  animation: fadeIn 0.3s ease-out;
}

@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.welcome-modal-container {
  max-width: 780px;
  width: 100%;
  max-height: 85vh;
  animation: slideUp 0.4s ease-out;
  position: relative;
  overflow: auto;
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.welcome-modal-container::-webkit-scrollbar {
  display: none;
}

@keyframes slideUp {
  from {
    opacity: 0;
    transform: translateY(30px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.welcome-modal-content {
  padding: 32px 40px;
  text-align: center;
}

/* Header Section */
.welcome-header {
  margin-bottom: 40px;
  padding: 0 65px;
}

.welcome-title {
  font-size: 24px;
  font-weight: 500;
  color: #ffffff;
  margin: 0 0 30px 0;
  font-family: "Ubuntu", sans-serif;
}

.welcome-tagline {
  margin-bottom: 20px;
}

.tagline-text {
  font-family: "Ubuntu", sans-serif;
  font-weight: 700;
  font-style: Bold;
  font-size: 50px;
  line-height: 45px;
  letter-spacing: 0%;
  text-align: center;
  text-transform: uppercase;
  color: #ffffff;
}

.welcome-description {
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  font-style: Regular;
  font-size: 14px;
  line-height: 24px;
  letter-spacing: 0%;
  text-align: center;
  color: #ffffff;
}

.steps-title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 500;
  font-size: 20px;
  line-height: 100%;
  text-align: center;
  color: #ffffff;
  margin-bottom: 20px;
}

/* Step Content Container */
.step-content-container {
  position: relative;
  height: 250px;
  width: 635px;
  margin: 0 auto;
  z-index: 1;
}

/* Step Preview Card */
.step-preview-card {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  padding: 24px;
  display: flex;
  align-items: center;
  gap: 24px;
  text-align: left;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  opacity: 0;
  transition: opacity 0.6s ease-in-out;
  pointer-events: none;
  z-index: 1;
}
.step-preview-card.active {
  opacity: 1;
  pointer-events: all;
}

.placeholder-item {
  visibility: hidden;
}

.step-preview-left {
  flex-shrink: 0;
}

.step-preview-icon {
  width: 100px;
  height: 100px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #ffffff;
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.step-preview-icon svg {
  width: 80px;
  height: 80px;
}

.step-preview-right {
  flex: 1;
}

.step-preview-title {
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
  margin: 0 0 6px 0;
}

.step-preview-subtitle {
  font-size: 14px;
  color: #6b7280;
  margin: 0 0 20px 0;
  line-height: 1.4;
}

.how-to-explore {
  background: #ffffff;
  border-radius: 6px;
  padding: 16px;
  border: 1px solid #e5e7eb;
}

.explore-title {
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  margin: 0 0 10px 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}

.explore-list {
  margin: 0;
  padding-left: 18px;
  color: #6b7280;
}

.explore-list li {
  font-size: 13px;
  line-height: 1.5;
  margin-bottom: 6px;
}

.explore-list li:last-child {
  margin-bottom: 0;
}

/* Footer Actions */
.welcome-footer {
  display: flex;
  justify-content: center;
  gap: 20px;
  align-items: center;
  position: relative;
  z-index: 100;
  margin-top: 0;
  clear: both;
}

.skip-intro-btn {
  background: transparent;
  border: none;
  color: #ffffff;
  padding: 12px 32px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  margin-top: 40px;
}
.skip-intro-btn:hover {
  text-decoration: underline;
}
.skip-intro-btn:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
}

.continue-btn {
  background: #3b82f6;
  border: none;
  color: #ffffff;
  padding: 12px 32px;
  border-radius: 8px;
  font-size: 14px;
  font-weight: 600;
  cursor: pointer;
  transition: all 0.2s ease;
  font-family: inherit;
  box-shadow: 0 2px 4px rgba(59, 130, 246, 0.2);
}
.continue-btn:hover {
  background: #2563eb;
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(59, 130, 246, 0.3);
}
.continue-btn:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
}
.continue-btn:active {
  transform: translateY(0);
}

/* Responsive Design */
@media (max-width: 768px) {
  .welcome-modal-container {
    margin: 10px;
    max-height: 95vh;
  }
  .welcome-modal-content {
    padding: 24px;
  }
  .welcome-title {
    font-size: 28px;
  }
  .tagline-text {
    font-size: 22px;
    letter-spacing: 1px;
  }
  .welcome-description {
    font-size: 15px;
  }
  .step-content-container {
    min-height: 250px;
  }
  .step-preview-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    text-align: center;
    gap: 20px;
    padding: 20px;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    pointer-events: none;
  }
  .step-preview-card.active {
    opacity: 1;
    pointer-events: all;
  }
  .step-preview-icon {
    width: 80px;
    height: 80px;
  }
  .step-preview-icon svg {
    width: 60px;
    height: 60px;
  }
  .step-preview-title {
    font-size: 18px;
  }
  .welcome-footer {
    flex-direction: column-reverse;
    gap: 12px;
  }
  .skip-intro-btn,
  .continue-btn {
    width: 100%;
    padding: 14px 24px;
  }
}
@media (max-width: 480px) {
  .welcome-modal-content {
    padding: 20px;
  }
  .welcome-title {
    font-size: 24px;
  }
  .tagline-text {
    font-size: 20px;
  }
  .welcome-description {
    font-size: 14px;
  }
  .step-content-container {
    min-height: 250px;
  }
  .step-preview-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    padding: 16px;
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    pointer-events: none;
  }
  .step-preview-card.active {
    opacity: 1;
    pointer-events: all;
  }
  .step-preview-icon {
    width: 70px;
    height: 70px;
  }
  .step-preview-icon svg {
    width: 50px;
    height: 50px;
  }
}
@media screen and (min-width: 1025px) and (max-width: 1280px) {
  .welcome-modal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background: rgba(68, 68, 68, 0.8509803922);
    backdrop-filter: blur(12px);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    padding: 20px;
    animation: fadeIn 0.3s ease-out;
  }
  .welcome-modal-container {
    max-width: 780px;
    width: 100%;
    max-height: 85vh;
    overflow-y: auto;
    animation: slideUp 0.4s ease-out;
    position: relative;
  }
  .welcome-modal-content {
    padding: 32px 40px;
    text-align: center;
  }
  /* Header Section */
  .welcome-header {
    margin-bottom: 28px;
  }
  .welcome-title {
    font-size: 26px;
    font-weight: 300;
    color: #ffffff;
    margin: 0 0 0 0;
    font-family: "Ubuntu", sans-serif;
  }
  .welcome-tagline {
    margin-bottom: 0px;
  }
  .tagline-text {
    font-size: 44px;
    font-weight: 800;
    background: rgb(255, 255, 255);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    letter-spacing: 1.2px;
    text-transform: uppercase;
  }
  .welcome-description {
    font-size: 16px;
    color: #ffffff;
    line-height: 1.5;
    max-width: 580px;
    margin: 0 auto;
  }
  /* Step Preview Card */
  .step-preview-card {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    background: #f8fafc;
    border: 1px solid #e2e8f0;
    border-radius: 12px;
    padding: 18px;
    display: flex;
    align-items: center;
    gap: 24px;
    text-align: left;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
    opacity: 0;
    transition: opacity 0.6s ease-in-out;
    pointer-events: none;
    z-index: 1;
  }
  .step-preview-card.active {
    opacity: 1;
    pointer-events: all;
  }
  .step-preview-left {
    flex-shrink: 0;
  }
  .step-preview-icon {
    width: 100px;
    height: 100px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #ffffff;
    border-radius: 12px;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  }
  .step-preview-icon svg {
    width: 80px;
    height: 80px;
  }
  .step-preview-right {
    flex: 1;
  }
  .step-preview-title {
    font-size: 18px;
    font-weight: 600;
    color: #1f2937;
    margin: 0 0 6px 0;
  }
  .step-preview-subtitle {
    font-size: 14px;
    color: #6b7280;
    margin: 0 0 20px 0;
    line-height: 1.4;
  }
  .how-to-explore {
    background: #ffffff;
    border-radius: 6px;
    padding: 16px;
    border: 1px solid #e5e7eb;
  }
  .explore-title {
    font-size: 12px;
    font-weight: 600;
    color: #374151;
    margin: 0 0 10px 0;
    text-transform: uppercase;
    letter-spacing: 0.5px;
  }
  .explore-list {
    margin: 0;
    padding-left: 18px;
    color: #6b7280;
  }
  .explore-list li {
    font-size: 13px;
    line-height: 1.5;
    margin-bottom: 6px;
  }
  .explore-list li:last-child {
    margin-bottom: 0;
  }
  /* Footer Actions */
  .welcome-footer {
    display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;
  }
  .skip-intro-btn {
    background: transparent;
    border: none;
    margin-top: 42px;
    color: #ffffff;
    padding: 12px 32px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 500;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
  }
  .skip-intro-btn:hover {
    text-decoration: underline;
  }
  .skip-intro-btn:focus {
    outline: none;
    border-color: #3b82f6;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.1);
  }
  .continue-btn {
    background: #3b82f6;
    border: none;
    color: #ffffff;
    padding: 12px 32px;
    border-radius: 8px;
    font-size: 14px;
    font-weight: 600;
    cursor: pointer;
    transition: all 0.2s ease;
    font-family: inherit;
    box-shadow: 0 2px 4px rgba(59, 130, 246, 0.2);
  }
  .continue-btn:hover {
    background: #2563eb;
    transform: translateY(-1px);
    box-shadow: 0 4px 8px rgba(59, 130, 246, 0.3);
  }
  .continue-btn:focus {
    outline: none;
    box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.5);
  }
  .continue-btn:active {
    transform: translateY(0);
  }
  .welcome-footer {
    display: flex;
    justify-content: center;
    gap: 20px;
    align-items: center;
    position: relative;
    z-index: 100;
    clear: both;
  }
}/* Base Button Styles */
.custom_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  border-radius: 0.375rem;
  font-family: inherit;
  font-weight: 500;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: all 0.2s ease-in-out;
  position: relative;
  box-sizing: border-box;
  gap: 0.5rem;
}
/* Button Text and Icon Elements */
.custom_button__text {
  display: inline-block;
}
.custom_button__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.custom_button__icon--left {
  margin-right: 0.25rem;
}
.custom_button__icon--right {
  margin-left: 0.25rem;
}
.custom_button__spinner {
  width: 1rem;
  height: 1rem;
  border: 2px solid transparent;
  border-top: 2px solid currentColor;
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
/* Size Variations */
.custom_button--small {
  padding: 0.5rem 1rem;
  font-size: var(--font-size-small);
  min-height: 36px;
}
.custom_button--medium {
  padding: 0.75rem 1.5rem;
  font-size: var(--font-size-normal);
}
.custom_button--large {
  padding: 1rem 2rem;
  font-size: var(--font-size-large);
  min-height: 3.5rem;
}
/* Width Variations */
.custom_button--full-width {
  width: 100%;
}
/* Primary Variant */
.custom_button--primary {
  background-color: var(--primary-color, #d31f1f);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}
.custom_button--primary:hover:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}
.custom_button--primary:active:not(:disabled) {
  background-color: var(--primary-red-dark, #b22222);
  transform: translateY(1px);
}
/* Secondary Variant */
.custom_button--secondary {
  background-color: var(--light, #ffffff);
  color: var(--dark, #000000);
  border: 1px solid var(--gray300, #e1e1e1);
}
.custom_button--secondary:hover:not(:disabled) {
  background-color: #f5f5f5;
  border-color: var(--gray500, #b3b3b3);
}
.custom_button--secondary:active:not(:disabled) {
  background-color: #e5e5e5;
  transform: translateY(1px);
}
/* tertiary Variant */
.custom_button--tertiary {
  background-color: var(--secondary-black-light, #222831);
  color: var(--light, #ffffff);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}
.custom_button--tertiary:hover:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}
.custom_button--tertiary:active:not(:disabled) {
  background-color: var(--tertiary-red-dark, #b22222);
  transform: translateY(1px);
}
/* Outline Variant */
.custom_button--outline {
  background-color: transparent;
  color: var(--primary-color, #d31f1f);
  border: 1.5px solid var(--primary-color, #d31f1f);
}
.custom_button--outline:hover:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
}
.custom_button--outline:active:not(:disabled) {
  background-color: var(--bg-alert-error, #ffe8e8);
  transform: translateY(1px);
}
/* Ghost Variant */
.custom_button--ghost {
  background-color: transparent;
  color: var(--primary);
  border: none;
}
.custom_button--ghost:hover:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.1);
}
.custom_button--ghost:active:not(:disabled) {
  background-color: rgba(17, 161, 253, 0.2);
}
/* Danger Variant */
.custom_button--danger {
  background-color: var(--secondary-red);
  color: var(--light);
  box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.1);
}
.custom_button--danger:hover:not(:disabled) {
  background-color: #dc2626;
  box-shadow: 0 0.25rem 0.5rem rgba(0, 0, 0, 0.15);
}
.custom_button--danger:active:not(:disabled) {
  background-color: var(--secondary-red700);
  transform: translateY(1px);
}
/* Disabled State */
.custom_button--disabled,
.custom_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  pointer-events: none;
}
/* Loading State */
.custom_button--loading {
  cursor: not-allowed;
  pointer-events: none;
}
.custom_button--loading .custom_button__text {
  opacity: 0.7;
}
/* Focus States */
.custom_button:focus {
  outline: none;
  box-shadow: 0 0 0 3px var(--primary-hover200);
}
.custom_button--secondary:focus {
  box-shadow: 0 0 0 3px rgba(var(--gray600), 0.3);
}
.custom_button--danger:focus {
  box-shadow: 0 0 0 3px var(--secondary-red-hover200);
}
/* Spinner Animation */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
/* Responsive Design */
@media (max-width: 768px) {
  .custom_button--large {
    padding: 14px 28px;
    font-size: 16px;
    min-height: 52px;
  }
  .custom_button--medium {
    padding: 10px 20px;
    font-size: 15px;
  }
  .custom_button--small {
    padding: 6px 12px;
    font-size: 13px;
    min-height: 32px;
  }
}
/* Global CSS Override for Dropdown Options */
select option:checked,
select option:focus,
select option:hover,
select option:active {
  background-color: #d31f1f !important;
  color: white !important;
}
select option {
  background-color: white !important;
  color: #171717 !important;
}
/* CSS Variables */
:root {
  /* === Main Color Scheme === */
  /* Primary Color (Red) */
  --primary-color: #d31f1f;
  /* Secondary Color (Black) */
  --secondary-color: #171717;
  /* Background Color (White) */
  --background-color: #ffffff;
  /* Accent 1 (Dark Gray) */
  --accent-1: #444444;
  /* Accent 2 (Light Gray) */
  --accent-2: #f0f0f0;
  /* === Color Variations === */
  /* Primary Red Color Variations (Primary/Highlights, Buttons, Alerts) */
  --primary-red-dark: #b22222;
  --primary-red-main: #d31f1f;
  --primary-red-light: #ff6b6b;
  --primary-red-lighter: #ff3a22;
  /* Secondary Black Color Variations (Text, Charts, Navigation) */
  --secondary-black-darkest: #171717;
  --secondary-black-dark: #232323;
  --secondary-black-medium: #1c1c1e;
  --secondary-black-light: #222831;
  /* Background White Color Variations (Background, Cards, Modals) */
  --background-white-pure: #f7f7f7;
  --background-white-light: #f4f4f9;
  --background-white-medium: #fcfcfc;
  --background-white-main: #ffffff;
  /* Accent 1 Dark Gray Color Variations (Text, Muted icons, Chart Lines) */
  --accent-gray-darkest: #3a4347;
  --accent-gray-medium: #6d8196;
  --accent-gray-light: #6a89a7;
  --accent-gray-lightest: #95abc1;
  /* Accent 2 Light Gray Color Variations (Surfaces, Containers) */
  --accent-light-gray-dark: #cbcaca;
  --accent-light-gray-medium: #dadada;
  --accent-light-gray-light: #eaeaea;
  --accent-light-gray-lightest: #f0f0f0;
  /* Success Green Color (BI status/success indicators) */
  --success-green-dark: #198038;
  --success-green-medium: #24b47e;
  --success-green-light: #24b47e;
  --success-green-lightest: #b9fbc0;
  /* Warning Yellow Color (BI warning indicators) */
  --warning-yellow-dark: #fcc419;
  --warning-yellow-medium: #f1c21b;
  --warning-yellow-light: #ffd166;
  --warning-yellow-lightest: #fff2cc;
  /* Info Blue Color (NLP User Input, info states) */
  --info-blue-dark: #335c81;
  --info-blue-medium: #118ab2;
  --info-blue-light: #a3cff1;
  --info-blue-lightest: #b8dbd9;
  /* === Background Colors === */
  /* Layout & Container Backgrounds */
  --bg-base: #f2f2f2;
  --bg-sidebar: #f2f2f2;
  --bg-nav-container: #f0f0f0;
  --bg-container: #ffffff;
  /* Element Backgrounds */
  --bg-count-icon-active: #6a89a7;
  --bg-count-icon-default: #eaeaea;
  /* Progress & Status Backgrounds */
  --bg-progress-base: #eaeaea;
  --bg-progress-bar: #335c81;
  /* Button Backgrounds */
  --bg-btn-inactive: #eaeaea;
  --bg-btn-default: #222831;
  --bg-btn-hover: #d31f1f;
  /* Modal & Overlay Backgrounds */
  --bg-modal-overlay: rgba(68, 68, 68, 0.85);
  /* #444444 with 85% opacity */
  --bg-modal-container: #ffffff;
  /* Alert Backgrounds */
  --bg-alert-success: #e9ffeb;
  --bg-alert-warning: #fff8e6;
  --bg-alert-error: #ffe8e8;
  --bg-alert-info: #e9ffeb;
  /* Divider & Separator Backgrounds */
  --bg-divider: #cecece;
  /* === Border Colors === */
  /* Layout & Container Borders */
  --border-base: #e2e2e2;
  --border-container: #e2e2e2;
  --border-nav: #f0f0f0;
  --border-section: #e2e2e2;
  --border-divider: #e2e2e2;
  /* Button Borders */
  --border-btn-inactive: #eaeaea;
  --border-btn-default: #222831;
  --border-btn-hover: #222831;
  /* Modal & Overlay Borders */
  --border-modal: #ffffff;
  /* Alert Borders */
  --border-alert-success: #24b47e;
  --border-alert-warning: #ffd166;
  --border-alert-error: #d31f1f;
  --border-alert-info: #24b47e;
  /* Additional Border Colors */
  --border-color: #e1e1e1;
  --border-hover: #b3b3b3;
  /* === Typography === */
  /* Base Font Sizes */
  --font-size-xlarge: clamp(28px, 8vw, 36px);
  --font-size-xlarge-2: clamp(24px, 6vw, 32px);
  --font-size-large: clamp(20px, 4vw, 24px);
  --font-size-normal: 16px;
  --font-size-small: 14px;
  /* Login input labels, placeholders, links, CTA buttons, navigation labels */
  --font-size-xsmall: 12px;
  /* Error messages, navigation headers, file selection text */
  /* Heading Font Sizes */
  --h1-font-size: clamp(24px, 5vw, 28px);
  --h2-font-size: clamp(20px, 4vw, 24px);
  --h3-font-size: clamp(18px, 3vw, 20px);
  /* Container headers, Sub-titles */
  --h4-font-size: clamp(16px, 3.5vw, 18px);
  /* Pop-up headers */
  --h5-font-size: 16px;
  /* Count icons */
  --h6-font-size: 12px;
  /* Font Weights */
  --font-weight700: 700;
  --font-weight500: 500;
  --font-weight400: 400;
  --font-weight300: 300;
  /* Text Colors */
  --text-secondary: #6e6e6e;
  --txt-title-gray: #c3c2c2;
  /* === Spacing === */
  /* Padding */
  --padding-input-default: 20px 30px;
  --padding-container-large: 40px;
  --padding-container-medium: 30px 20px;
  --padding-container-default: 20px;
  --padding-container-small: 10px 20px 15px 20px;
  --padding-element-narrow: 4px 6px;
  --padding-element-standard: 8px 15px;
  --padding-element-medium: 10px 15px;
  --padding-element-wide: 12px 20px;
  --padding-alert: 10px 15px;
  --padding-modal: 20px;
  /* Margins */
  --margin-error: 4px 0 0 0;
  --margin-container: 20px;
  --margin-content: 10px 0;
  --margin-icon-text: 0 10px;
  --margin-tab-default: 20px 40px 10px 0;
  --margin-tab-active: 20px 40px 10px 0;
  --margin-tab-hover: 20px 40px 10px 0;
  --margin-divider: 10px 20px 20px 20px;
  /* Gap Sizes */
  --gap-icon-text: 10px;
  --gap-icon-container: 20px;
  /* === Layout === */
  /* Grid Sizes */
  --grid-size-small: 576px;
  --grid-size-medium: 768px;
  --grid-size-large: 992px;
  --grid-size-xlarge: 1140px;
  /* === UI Elements === */
  /* Dropdown */
  --dropdown-options: #292929cc;
  --dropdown-options-focused: #292929;
  --dropdown-bg: #bfe7ff;
  /* Common Colors */
  --msgColor: #ffffff;
  --body-bg: #f8f8f8;
  --light: #ffffff;
  --dark: #000000;
  --primary-dark: #1565c0;
  /* === Legacy Color Variables (keeping for backward compatibility) === */
  --gray50: #bacad6;
  --gray75: #fafafa;
  --gray100: #f5f5f5;
  --gray200: #eaeaea;
  --gray300: #e1e1e1;
  --gray400: #cacaca;
  --gray500: #b3b3b3;
  --gray650: #6a89a7;
  --gray600: #8e8e8e;
  --gray700: #335c81;
  --gray800: #4b4b4b;
  --gray900: #2c2c2c;
  --primary400: #4cc3fd;
  --primary500: #11a1fd;
  --primary600: #0c7dd9;
  --primary700: #085db6;
  --primary-hover200: rgba(17, 161, 253, 0.2);
  --secondary-red400: #ff6b6b;
  --secondary-red500: #d51f30;
  --secondary-red600: #b51c2a;
  --secondary-red700: #85010d;
  --secondary-red-hover200: #e96e7a;
  --secondary-purple400: #8298fb;
  --secondary-purple500: #5a75f9;
  --secondary-purple600: #4259d4;
  --secondary-purple700: #3247b5;
  --secondary-green400: #3cd795;
  --secondary-green500: #07c180;
  --secondary-green600: #06a57d;
  --secondary-green700: #038673;
  --secondary-yellow400: #ffb866;
  --secondary-yellow500: #ff9931;
  --secondary-yellow600: #db7823;
  --secondary-yellow700: #b45917;
  --secondary-yellow-hover200: #ffb866;
  --secondary-gray400: #cedfe8;
  --secondary-gray500: #a7c1d2;
  --secondary-gray600: #7d9eb5;
  --secondary-gray700: #486f88;
  --secondary-navy-blue: #213345;
  --skeleton-bg: #e5e7eb;
  --skeleton-shimmer: #f3f4f6;
  --skeleton-radius-sm: 4px;
  --skeleton-radius-md: 8px;
  --skeleton-radius-lg: 16px;
}
/* Reset and Base Styles */
* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}
body {
  font-family: "Ubuntu", sans-serif;
  background-color: var(--body-bg);
  color: var(--gray900);
  line-height: 1.6;
}
button {
  background: none;
  border: none;
  cursor: pointer;
}
/* Utility Classes */
.flex {
  display: flex;
}
.column {
  flex-direction: column;
}
.justify_center {
  justify-content: center;
}
.justify_between {
  justify-content: space-between;
}
.align_center {
  align-items: center;
}
.p_10 {
  padding: 10px;
}
.grid {
  display: grid;
}
.grid_cols_4 {
  grid-template-columns: repeat(4, 1fr);
}
.grid_center {
  place-items: center;
}
.col_span_2 {
  grid-column: span 2;
}
.col_start_2 {
  grid-column-start: 2;
}
.section_card {
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  padding: 20px;
}
.max_width {
  max-width: 400px;
  width: 100%;
}
.h_auto {
  height: auto;
}
/* Login Center Wrapper */
.login_center_wrapper {
  min-height: 100vh;
  display: flex;
  align-items: center;
  background-image: url("/assets/Login-op3-D1d2AstO.png");
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
}
.p-password-panel {
  padding: 20px;
  font-family: "ubuntu", sans-serif;
}
.p-icon-field {
  width: 100%;
  display: flex;
  align-items: center;
}
.p-input-icon {
  top: 25%;
}
/* Form Styles */
.form_wrapper_parent {
  width: 50%;
  height: 100vh;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-color: var(--background-color);
}
.form_wrapper {
  max-width: 61.5%;
}
.formside_parent {
  height: 100vh;
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: start;
  width: 50%;
  background-color: var(--bg-base);
  padding: 40px;
}
.formside_parent .formside_content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
  width: 100%;
  height: 80%;
}
.formside_parent .formside_content h1 {
  font-size: 24px;
}
.form_header {
  margin-bottom: 20px;
}
.form_header_logo {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-bottom: 20px;
}
.form_description {
  color: var(--accent-gray-darkest);
  font-size: var(--font-size-small);
  text-align: left;
  line-height: 20px;
  margin-bottom: 24px;
  width: 100%;
  font-weight: 500;
  letter-spacing: 0px;
}
.logo {
  height: 48px;
  width: auto;
}
.form {
  width: 100%;
}
.form_links_bottom {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 20px;
  padding: 0;
  text-align: center;
  gap: 10px;
}
.form_links_bottom .form_link {
  color: #118ab2;
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.form_links_bottom .form_link:hover {
  color: #118ab2;
}
.form_control:focus-visible {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
  outline: none;
}
.form_control.invalid {
  border-color: var(--secondary-red500);
  background: rgba(213, 31, 48, 0.1);
  color: var(--secondary-red500);
}
.form_input {
  width: 100%;
  padding: 12px 16px;
  border: 1px solid var(--gray300);
  border-radius: 6px;
  font-size: var(--font-size-normal);
  transition: border-color 0.3s ease;
  background: var(--light);
}
.form_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 2px var(--primary-hover200);
}
.form_input.error_input {
  border-color: var(--secondary-red500);
}
.form_group_btn_wrapper {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
}
.show_password_btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.3s ease;
}
.form_actions {
  margin-top: 10px;
}
.form_actions .btn_wrapper {
  width: 100%;
}
.form_actions button {
  width: 100%;
  padding: 12px 0;
  font-size: 14px;
  border-radius: 5px;
  background: var(--secondary-black-light);
  color: #fff;
  border: none;
  transition: background 0.2s;
  font-weight: var(--font-weight500);
}
.form_actions button:hover:not(:disabled) {
  background-color: var(--primary-red-dark);
}
.form_actions button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}
.success-message-modal-wrapper {
  border: 1px solid var(--accent-light-gray-light);
  padding: 40px 20px;
  box-shadow: 0px 0px 10px 0px rgba(203, 202, 202, 0.5019607843);
  border-radius: 8px;
}
.success-message-modal {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 40px;
}
.modal-message {
  display: flex;
  flex-direction: column;
}
.show_password_btn:hover {
  background-color: var(--gray200);
}
.show_password_btn .icon {
  width: 20px;
  height: 20px;
  fill: var(--gray600);
}
.error_section {
  margin-top: 4px;
}
.error_text {
  color: var(--secondary-red500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: start;
}
.success_text {
  color: var(--secondary-green500);
  font-size: 13px;
  margin: 0;
  padding: 0;
  text-align: left;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 6px;
}
.success_icon {
  color: var(--secondary-green500);
  font-size: 16px;
  font-weight: bold;
}
.error_icon {
  color: var(--secondary-red500);
  font-size: 16px;
  font-weight: bold;
}
/* 2FA OTP Input Styles */
.otp_input_container {
  display: flex;
  align-items: center;
  gap: 30px;
  margin: 20px 0;
}
.otp_input {
  width: 38px;
  height: 38px;
  border: 1px solid var(--accent-light-gray-medium);
  border-radius: 6px;
  text-align: center;
  font-size: 18px;
  font-weight: var(--font-weight500);
  background: var(--background-white-pure);
  transition: all 0.3s ease;
}
.otp_input::placeholder {
  color: #9ca3af;
}
.otp_input:focus::placeholder {
  color: transparent;
}
.otp_input:focus {
  outline: none;
  border-color: var(--border-btn-default);
  box-shadow: 0 0 0 1px var(--border-btn-default);
}
.otp_input.filled {
  border-color: var(--border-btn-default);
  background-color: rgba(17, 161, 253, 0.1);
}
.otp_input.error {
  border-color: var(--secondary-red500);
  background-color: rgba(220, 53, 69, 0.1);
}
.resend_link {
  background: none;
  border: none;
  color: #48a9ee;
  font-size: var(--font-size-small);
  cursor: pointer;
  transition: color 0.3s ease;
}
.resend_link:hover {
  text-decoration: underline;
}
.resend_link:hover:not(:disabled) {
  color: var(--primary600);
}
.resend_link:disabled {
  color: var(--gray500);
  cursor: not-allowed;
}
.help_text {
  color: var(--primary500);
  font-size: var(--font-size-small);
  text-decoration: none;
  cursor: pointer;
  transition: color 0.3s ease;
}
.help_text:hover {
  color: var(--primary600);
}
/* Button Styles */
.btn_wrapper {
  width: 100%;
}
.btn_group_wrapper {
  margin-top: 20px;
}
.theme_button {
  width: 100%;
  padding: 12px 24px;
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  position: relative;
}
.theme_button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.primary_btn {
  width: 100%;
  padding: 12px 0;
  font-size: 16px;
  border-radius: 5px;
  background: var(--primary500);
  color: #fff;
  border: none;
  transition: background 0.2s;
  margin-top: 1rem;
}
.primary_btn:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
}
.primary_btn:hover:not(:disabled) {
  background-color: var(--primary600);
}
.secondary_btn {
  background-color: var(--gray200);
  color: var(--gray800);
}
.secondary_btn:hover:not(:disabled) {
  background-color: var(--gray300);
}
/* Dashboard Styles */
.dashboard-page {
  height: 100%;
  background-color: var(--body-bg);
}
.dashboard-header {
  background: var(--light);
  padding: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.dashboard-header h1 {
  color: var(--primary500);
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
}
.logout-btn {
  background-color: var(--secondary-red500);
  color: var(--light);
  border: none;
  padding: 8px 16px;
  border-radius: 4px;
  cursor: pointer;
  font-size: var(--font-size-small);
  transition: background-color 0.3s ease;
}
.logout-btn:hover {
  background-color: var(--secondary-red600);
}
.dashboard_content {
  display: flex;
  flex-direction: column;
  width: 100%;
  justify-content: flex-start;
  padding-top: 40px;
  align-items: center;
  overflow-y: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.dashboard_content::-webkit-scrollbar {
  display: none;
}
/* Dashboard Wrapper */
.dashboard_wrapper {
  position: relative;
  display: flex;
  height: 100%;
  flex-direction: column;
  padding-bottom: 0;
  transition: all 0.3s ease;
  width: 100%;
  max-width: 100%;
  align-items: center;
  overflow: hidden;
  overflow-y: auto;
}
/* Ensure the main content area has proper spacing only when input is fixed */
.dashboard_wrapper.has-fixed-input .dashboard_content {
  transition: padding-bottom 0.3s ease;
}
/* Ensure the main content area has proper spacing */
.dashboard_wrapper .dashboard_content {
  flex: 1;
  width: 100%;
  max-width: 1400px;
  transition: padding-bottom 0.3s ease;
}
/* Ensure the page content area works well with fixed input */
.page_content {
  overflow-y: auto;
  background: #f9fafb;
  width: 100%;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  height: 100%;
}
/* Dashboard split container for side-by-side layout */
.dashboard_split_container {
  display: flex;
  height: 100%;
  max-height: 100%;
  width: 100%;
  overflow: hidden;
  position: relative;
}
/* Dashboard wrapper takes 65-70% when source panel is open */
.dashboard_wrapper {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
  transition: flex 0.35s cubic-bezier(0.4, 0, 0.2, 1), margin 0.35s cubic-bezier(0.4, 0, 0.2, 1), width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: flex, margin, width;
}
/* When source panel is open, wrapper shrinks to make room */
.dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
  flex: 1 1 auto;
}
/* Dashboard content with independent scrolling */
.dashboard_content {
  flex: 1;
  min-width: 0;
  max-width: 100%;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
  height: 100%;
  /* Smooth scrolling */
  scroll-behavior: smooth;
  /* Custom scrollbar */
}
.dashboard_content::-webkit-scrollbar {
  width: 6px;
}
.dashboard_content::-webkit-scrollbar-track {
  background: transparent;
}
.dashboard_content::-webkit-scrollbar-thumb {
  background: #d1d5db;
  border-radius: 3px;
}
.dashboard_content::-webkit-scrollbar-thumb:hover {
  background: #9ca3af;
}
.forgot-password-button {
  border: 1px solid var(--bg-btn-default);
  margin-top: 10px;
}
/* Responsive adjustments for split-screen */
@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
  .dashboard_content {
    min-width: 0;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 auto;
  }
}
@media (max-width: 768px) {
  .dashboard_split_container {
    position: relative;
  }
  .dashboard_content {
    min-width: 100%;
  }
  .dashboard_wrapper {
    width: 100%;
  }
  /* On mobile, source panel is overlay, wrapper stays full width */
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
  }
}
/* Only add bottom padding when there's a fixed input */
/* Sidebar hidden state - completely hide the sidebar */
.main_content.sidebar-hidden .modern_sidebar {
  display: none !important;
}
.main_content.sidebar-hidden .dashboard_split_container .dashboard_wrapper {
  margin-left: 0 !important;
}
/* Chat container width adjustment when source panel is open */
.dashboard_split_container:has(.source-panel.open) .chat_container {
  width: 90%;
}
/* Fixed Input - ensure it stays within chat area when source panel opens */
.dashboard_split_container .fixed_input {
  z-index: 100;
  /* Ensure it's above chat content but below source panel */
}
/* Collapsed sidebar adjustments for fixed_input */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
  max-width: calc(70vw - 65px - 80px);
}
@media (min-width: 1400px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(72vw - 65px - 80px);
  }
}
@media (max-width: 1200px) {
  .main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_input {
    max-width: calc(65vw - 65px - 60px);
  }
}
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_input {
    /* On mobile, source panel is overlay, input stays full width */
    max-width: calc(100vw - 32px);
  }
}
/* Fixed Chat Input Wrapper */
.fixed_chat_input_wrapper {
  position: fixed;
  bottom: 0;
  left: 280px;
  /* Account for sidebar width */
  right: 0;
  z-index: 1000;
  background: #f8f8f8;
  border-top: 1px solid #e5e7eb;
  padding: 16px 32px;
  box-shadow: 0 -2px 10px rgba(0, 0, 0, 0.1);
  display: flex;
  justify-content: center;
  align-items: center;
  transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-sizing: border-box;
  overflow: hidden;
}
/* Adjust for source panel open - use percentage matching panel width */
.dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  right: 30%;
}
@media (min-width: 1400px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 28%;
  }
}
@media (max-width: 1200px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 35%;
  }
}
@media (max-width: 968px) {
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 40%;
  }
}
/* Adjust for collapsed sidebar */
.main_content.sidebar-collapsed .fixed_chat_input_wrapper {
  left: 65px;
}
/* Adjust for collapsed sidebar + source panel open */
.main_content.sidebar-collapsed .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
  left: 65px;
}
.conversation_tile {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.conversation_tile.active {
  background: #fff;
}
/* Responsive adjustments */
@media (max-width: 768px) {
  .dashboard_split_container:has(.source-panel.open) .dashboard_wrapper {
    flex: 1 1 100%;
    max-width: 100%;
  }
  .fixed_chat_input_wrapper {
    left: 0 !important;
    right: 0 !important;
    padding: 16px;
  }
  .dashboard_split_container:has(.source-panel.open) .fixed_chat_input_wrapper {
    right: 0 !important;
  }
  .dashboard_content {
    padding: 20px;
    /*padding-bottom: 120px;*/
  }
  .center_input_section,
  .fixed_input_section {
    max-width: 100%;
    padding: 0 16px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .fixed_chat_input_wrapper {
    padding: 12px;
  }
  .dashboard_content {
    padding: 20px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 48px;
    height: 48px;
    padding: 10px;
  }
  .fixed_input_section {
    padding: 0 8px;
  }
  .fixed_input_section .input_container {
    max-width: 100%;
  }
}
/* Ensure tooltips are always on top */
.tooltip {
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  background-color: var(--secondary-black-darkest);
  color: var(--background-white-main);
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 12px;
  font-weight: 500;
  white-space: nowrap;
  z-index: 99999 !important;
  margin-top: 8px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);
  animation: tooltipFadeIn 0.2s ease-out;
}
.tooltip::after {
  content: "";
  position: absolute;
  bottom: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-bottom-color: var(--secondary-black-darkest);
}
@keyframes tooltipFadeIn {
  from {
    opacity: 0;
    transform: translateX(-50%) translateY(-4px);
  }
  to {
    opacity: 1;
    transform: translateX(-50%) translateY(0);
  }
}
/* Ensure separator lines and borders are below tooltips */
/* Ensure answer containers don't clip tooltips */
.answer_container {
  overflow: visible !important;
  background-color: var(--accent-2);
  padding: 30px;
  border-radius: 10px;
  border: 1px solid var(--border-base);
}
/* Ensure chat containers don't clip tooltips */
.chat_container {
  overflow: visible !important;
}
/* Dashboard Header Section */
.dashboard_header_section {
  text-align: center;
  margin-bottom: 40px;
  /* Increased margin for better spacing */
  padding: 0 20px;
  width: 100%;
}
.dashboard_main_title {
  font-family: "Ubuntu", sans-serif;
  font-weight: 400;
  display: flex;
  align-items: end;
  justify-content: center;
  gap: 10px;
  font-size: 36px;
  color: var(--secondary-color);
  line-height: 1.3;
}
.dashboard_subtitle {
  font-size: 16px;
  margin: 0;
  line-height: 1.5;
}
/* Dashboard Input Section */
.dashboard_input_section {
  margin-bottom: 48px;
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 800px;
  margin-left: auto;
  margin-right: auto;
}
/* Center Input Section - for first visit */
.center_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
}
.center_input_section .input_container {
  max-width: 1200px;
  height: 186px;
  /* Match the suggestions grid max-width */
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 32px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}
.center_input_section .input_container:focus-within {
  border-color: #d31f1f;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}
.input_container {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: white;
  border-radius: 18px;
  padding: 20px;
  transition: all 0.2s ease;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  /* Gradient border using background-clip trick */
  border: 1px solid transparent;
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* border gradient */
  background-origin: border-box;
  background-clip: padding-box, border-box;
}
.input_container:focus-within {
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
  background-image: linear-gradient(white, white), linear-gradient(90deg, var(--secondary-color), #d31f1f);
  /* focus gradient */
}
/* Top section containing icons and input */
.input_top_section {
  display: flex;
  align-items: center;
  width: 100%;
  border-bottom: 1px solid #ffffff;
}
/* Left side icons container */
.input_left_icons {
  display: flex;
  background-color: #eaeaea;
  justify-content: space-between;
  align-items: center;
  border-right: 1px solid #f0f0f0;
  border-radius: 32px;
  padding: 0 10px;
  width: 88px;
  height: 28px;
}
/* Individual left icons */
.input_icon {
  cursor: pointer;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 15px;
  height: 15px;
  color: #6d8196;
  transform: scale(1.1);
}
.input_icon:hover {
  background: #f3f4f6;
  color: #374151;
  transform: scale(1.05);
}
.input_icon:active {
  transform: scale(0.95);
}
/* Bottom section containing buttons */
.input_bottom_section {
  display: flex;
  justify-content: space-between;
  width: 100%;
  align-items: flex-end;
}
/* Right side buttons container */
.input_right_buttons {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0;
}
.input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 44px;
  height: 44px;
  color: #6b7280;
}
.input_mic_btn:hover {
  background: #e5e7eb;
  color: #374151;
}
.input_submit_btn {
  background: var(--secondary-black-light);
  color: white;
  border: none;
  cursor: pointer;
  padding: 8px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
}
.dashboard_input {
  flex: 1;
  border: none;
  outline: none;
  font-size: 16px;
  color: #1f2937;
  background: transparent;
  border-radius: 0;
}
.dashboard_input::placeholder {
  color: #9ca3af;
  font-size: 16px;
}
/* Suggestions Section */
.suggestions_section {
  margin-bottom: 48px;
}
/* Suggestion Cards Styling */
.suggestions_grid {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 100%;
}
.suggestions_grid > .suggestion_card {
  flex: 1 1 300px;
  max-width: 1fr;
}
.suggestion_card {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 12px;
  padding: 20px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  min-width: 300px;
  max-width: 300px;
}
.suggestion_card:hover {
  box-shadow: 0 4px 16px rgba(0, 0, 0, 0.15);
  transform: translateY(-2px);
}
/* Card Header */
.card_header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.card_heading {
  display: flex;
  align-items: center;
  gap: 12px;
}
.card_icon {
  font-size: 24px;
  width: 32px;
  height: 32px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 8px;
}
/* Icon Colors */
.card_icon.growth {
  color: #10b981;
  /* Green for growth */
}
.card_icon.forecasting {
  color: #3b82f6;
  /* Blue for forecasting */
}
.card_icon.correlation {
  color: #f59e0b;
  /* Orange for correlation */
}
.card_title {
  font-size: 10px;
  font-weight: 400;
  color: var(--secondary-color);
}
/* Card Subtitle */
.card_subtitle {
  font-size: 16px;
  color: var(--secondary-color);
  font-weight: 500;
}
/* Card Content */
.card_description {
  display: block;
  color: #374151;
  line-height: 1.6;
}
.card_description.clamped {
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  line-clamp: 3;
}
.card_description.expanded {
  display: block;
}
.credits_wrapper {
  width: 98%;
  padding: 0px;
  position: sticky;
  top: 0;
  z-index: 100;
}
.card_link {
  color: #3b82f6;
  cursor: pointer;
  text-decoration: underline;
  font-weight: 500;
  font-size: 14px;
}
.card_link:hover {
  color: #2563eb;
}
/* Feedback Icons */
.card_feedback {
  display: flex;
  gap: 8px;
  align-items: center;
}
.feedback_icon {
  color: #9ca3af;
  font-size: 26px;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: all 0.2s ease;
}
.feedback_icon:hover {
  color: #6b7280;
  background-color: #f3f4f6;
}
/* Quick Actions Section */
.quick_actions_section {
  margin-bottom: 48px;
}
/* Responsive Dashboard Styles */
@media (max-width: 768px) {
  .dashboard_content {
    padding: 20px;
  }
  .dashboard_header_section {
    padding: 0 10px;
  }
  .dashboard_input_section {
    margin-bottom: 32px;
    padding: 0 10px;
  }
  .dashboard_input {
    font-size: 14px;
    padding: 10px 12px;
  }
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .quick_actions_grid {
    flex-direction: column;
    align-items: center;
    gap: 12px;
  }
}
@media (max-width: 480px) {
  .dashboard_main_title {
    font-size: 20px;
  }
  .input_plus_btn,
  .input_mic_btn,
  .input_submit_btn {
    font-size: 14px;
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .card_title {
    font-size: 16px;
  }
  .card_description {
    font-size: 13px;
  }
}
.dashboard-content h2 {
  color: var(--gray800);
  margin-bottom: 20px;
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight600);
}
.user-info {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.user-info h3 {
  color: var(--gray800);
  margin-bottom: 10px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}
.user-info h4 {
  color: var(--gray800);
  margin: 20px 0 10px 0;
  font-size: var(--h5-font-size);
  font-weight: var(--font-weight600);
}
.user-details {
  margin-bottom: 20px;
}
.user-details p {
  margin: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
}
.user-details strong {
  color: var(--gray800);
  font-weight: var(--font-weight600);
}
.user-info pre {
  background: var(--gray100);
  padding: 15px;
  border-radius: 4px;
  overflow-x: auto;
  font-size: var(--font-size-small);
  color: var(--gray800);
}
.dashboard-features {
  background: var(--light);
  padding: 20px;
  border-radius: 8px;
  margin-top: 20px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.dashboard-features h3 {
  color: var(--gray800);
  margin-bottom: 15px;
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight600);
}
.dashboard-features ul {
  list-style: none;
  padding: 0;
}
.dashboard-features li {
  padding: 8px 0;
  font-size: var(--font-size-normal);
  color: var(--gray700);
  border-bottom: 1px solid var(--gray200);
}
.dashboard-features li:last-child {
  border-bottom: none;
}
/* Responsive Design */
@media (max-width: 768px) {
  .grid_cols_4 {
    grid-template-columns: 1fr;
  }
  .col_span_2 {
    grid-column: span 1;
  }
  .col_start_2 {
    grid-column-start: 1;
  }
  .max_width {
    max-width: 100%;
    margin: 0 20px;
  }
  .dashboard-content {
    padding: 20px;
  }
}
/* Pagination Styles */
.pagination {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 8px;
  margin-top: 16px;
}
.pagination .btn_wrapper {
  display: inline-block;
}
.pagination .btn_wrapper button {
  padding: 8px 12px;
  border: 1px solid var(--border-color);
  background: var(--light);
  color: var(--text-secondary);
  font-size: var(--font-size-xsmall);
  border-radius: 8px;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 40px;
  height: 36px;
  font-weight: var(--font-weight500);
  display: flex;
  align-items: center;
  justify-content: center;
}
.pagination .btn_wrapper button:hover:not(:disabled) {
  background: var(--gray75);
  border-color: var(--border-hover);
  color: var(--gray800);
  transform: translateY(-1px);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
.pagination .btn_wrapper button.primary_btn {
  background: var(--primary500);
  color: var(--light);
  border-color: var(--primary500);
  box-shadow: 0 2px 4px rgba(17, 161, 253, 0.3);
}
.pagination .btn_wrapper button.primary_btn:hover {
  background: var(--primary600);
  border-color: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.4);
}
.pagination .btn_wrapper button:disabled {
  opacity: 0.4;
  cursor: not-allowed;
  background: var(--gray75);
  color: var(--gray500);
  transform: none;
  box-shadow: none;
}
/* Table Responsive Utilities */
.table-responsive {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 768px) {
  .pagination {
    gap: 4px;
    flex-wrap: wrap;
    justify-content: center;
  }
}
.pagination .btn_wrapper button {
  min-width: 36px;
  height: 32px;
  padding: 6px 10px;
  font-size: 11px;
}
.user-chat-container::-webkit-scrollbar {
  display: none;
  /* Chrome, Safari, Edge */
}
.user-chat-container {
  display: flex;
  flex-direction: column;
  gap: 60px;
  width: 100%;
  height: 60vh;
  overflow: hidden;
}
.user-chat-container h3 {
  font-weight: 400;
  padding: 10px;
  background-color: var(--gray200);
  border-radius: 10px;
  display: inline-block;
  align-self: flex-end;
}
.user-chat-container p {
  padding: 10px;
  text-align: left;
}
.user-chat-container .error-text {
  padding: 0;
  margin-left: 30px;
}
.empty_text {
  color: var(--accent-gray-medium);
}
.quick_actions_container {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  padding: 0 20px;
}
/* Error Boundary Styles */
.error-boundary {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 400px;
  padding: 40px;
}
.error-content {
  text-align: center;
  max-width: 500px;
}
.error-content h3 {
  color: var(--gray800);
  margin-bottom: 16px;
  font-size: 24px;
  font-weight: 600;
}
.error-content p {
  color: var(--gray600);
  margin-bottom: 24px;
  font-size: 16px;
  line-height: 1.5;
}
.retry-button {
  background: var(--primary500);
  color: white;
  border: none;
  padding: 12px 24px;
  border-radius: 8px;
  font-size: 16px;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}
.retry-button:hover {
  background: var(--primary600);
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(17, 161, 253, 0.3);
}
/* No Data Message Styles */
.no-data-message {
  background: var(--gray100);
  border: 1px solid var(--gray200);
  border-radius: 8px;
  padding: 20px;
  text-align: center;
  margin: 20px 0;
}
.no-data-message p {
  color: var(--gray600);
  margin: 0;
  font-style: italic;
}
/* Error Display Styles */
.error-display {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: 8px;
  padding: 20px;
  margin: 20px 0;
  text-align: center;
}
.error-display h3 {
  color: #dc2626;
  margin-bottom: 12px;
  font-size: 18px;
  font-weight: 600;
}
.error-display p {
  color: #7f1d1d;
  margin-bottom: 16px;
  font-size: 14px;
}
/* Fixed Input Section */
.fixed_input_section {
  display: flex;
  justify-content: center;
  width: 100%;
  max-width: 100%;
  height: 146px;
  margin-top: 10px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 16px;
  box-sizing: border-box;
}
/* Ensure input container is properly styled in fixed position */
.fixed_input_section .input_container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 30px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
  width: 100%;
  max-width: 1200px;
  /* Increased from 800px to match dashboard content width */
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}
.fixed_input_section .input_container:focus-within {
  border-color: #3b82f6;
  box-shadow: 0 2px 12px rgba(59, 130, 246, 0.15);
}
/* Ensure the input field itself is properly styled */
.fixed_input_section .dashboard_input {
  background: transparent;
  border: none;
  outline: none;
  font-size: 16px;
  padding: 14px;
  color: #1f2937;
  flex: 1;
}
.fixed_input_section .dashboard_input::placeholder {
  color: #9ca3af;
}
/* Style the buttons in the fixed input */
.fixed_input_section .input_mic_btn {
  background: #f3f4f6;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 8px;
  border-radius: 50%;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 40px;
  height: 40px;
  color: #6b7280;
}
.fixed_input_section .input_mic_btn:hover {
  background: #f3f4f6;
}
.fixed_input_section .input_submit_btn {
  background: var(--primary500);
  color: white;
  border: none;
  font-size: 18px;
  cursor: pointer;
  padding: 12px;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 54px;
  height: 54px;
  border-top-right-radius: 12px;
  border-bottom-right-radius: 12px;
  margin-left: 8px;
}
.fixed_input_section .input_submit_btn:hover {
  background: var(--primary600);
}
.settings-title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 24px 0;
  line-height: 1.3;
  text-align: start;
}
input[type=number]::-webkit-outer-spin-button,
input[type=number]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
input[type=number] {
  -moz-appearance: textfield;
}
.reset-password-error {
  background: #f8d7da;
  color: var(--primary-red-dark);
  padding: 20px;
}
.send-reset-again {
  text-decoration: underline;
  cursor: pointer;
}
.react-joyride__spotlight {
  transform: scale(1.05);
  transition: transform 0.25s ease;
}
.page_content {
  overflow-y: auto !important;
  overflow-x: hidden;
}
.avatar-tooltip-wrapper {
  position: relative;
  display: flex;
  align-items: center;
}
.avatar-tooltip-wrapper .tooltip {
  position: absolute;
  top: 30px;
  left: 50%;
  transform: translateX(-50%);
  background: #000;
  color: #fff;
  padding: 6px 10px;
  border-radius: 5px;
  white-space: nowrap;
  font-size: 12px;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.2s ease;
  pointer-events: none;
}
.avatar-tooltip-wrapper:hover .tooltip {
  opacity: 1;
  visibility: visible;
}
/* Responsive Design */
@media (max-width: 768px) {
  .suggestions_grid {
    grid-template-columns: 1fr;
    gap: 16px;
    margin-bottom: 32px;
  }
  .suggestion_card {
    padding: 20px;
  }
  .card_title {
    font-size: 18px;
  }
  .card_subtitle {
    font-size: 14px;
  }
  .center_input_section {
    max-width: 100%;
  }
  .center_input_section .input_container {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .suggestion_card {
    padding: 16px;
  }
  .card_icon {
    font-size: 20px;
    width: 28px;
    height: 28px;
  }
  .card_title {
    font-size: 16px;
  }
  .center_input_section {
    padding: 0 12px;
    margin-bottom: 32px;
  }
  .center_input_section .input_container,
  .fixed_input_section .input_container {
    border-radius: 8px;
  }
  .center_input_section .input_submit_btn,
  .fixed_input_section .input_submit_btn {
    min-width: 40px;
    height: 40px;
    padding: 10px;
  }
  .center_input_section .input_mic_btn,
  .fixed_input_section .input_mic_btn {
    min-width: 36px;
    height: 36px;
    padding: 8px;
  }
  .center_input_section .input_icon,
  .fixed_input_section .input_icon {
    min-width: 28px;
    height: 28px;
    padding: 6px;
  }
  .center_input_section .input_left_icons,
  .fixed_input_section .input_left_icons {
    gap: 12px;
    padding: 0 12px;
  }
  .center_input_section .input_right_buttons,
  .fixed_input_section .input_right_buttons {
    gap: 8px;
    padding: 0;
  }
  .center_input_section .input_bottom_section,
  .fixed_input_section .input_bottom_section {
    padding: 8px 12px;
  }
}
.chat_container {
  display: flex;
  flex-direction: column;
  gap: 50px;
  margin: 0 auto;
  width: 70dvw;
  padding: 20px 0;
  transition: width 0.35s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: width;
}
.chat_container .question-container {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  row-gap: 10px;
}
.chat_container .question-container button {
  background: none;
  border: none;
}
.chat_container .question-container .question {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  background: var(--accent-2);
  padding: 12px 16px;
  border-radius: 10px;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.08);
  border: 1px solid var(--border-base);
  color: var(--accent-gray-darkest);
  font-weight: 400;
  font-size: 14px;
  text-align: left;
}
.chat_container .question-container .icon-group {
  display: flex;
  justify-content: flex-end;
  column-gap: 10px;
}
.chat_container .question-container .icon-group .icon {
  cursor: pointer;
  color: var(--gray800);
  font-size: 20px;
  transition: color 0.2s ease;
}
.chat_container .question-container .icon-group .icon:hover {
  color: var(--gray600);
}
.chat_container .question-container .loading-text {
  display: flex;
}
.toast-clamp-1 [role=status] {
  justify-content: start;
}
.toast-clamp-2 {
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  overflow: hidden;
  white-space: normal;
}
.toast-clamp-2 [role=status] {
  display: block;
  text-align: left;
}
.toast-success {
  background: var(--bg-alert-success);
  border: 1px solid var(--border-alert-success);
}
.toast-error {
  background: var(--bg-alert-error);
  border: 1px solid var(--border-alert-error);
}
@keyframes pulse {
  0% {
    opacity: 1;
  }
  50% {
    opacity: 0.5;
  }
  100% {
    opacity: 1;
  }
}
.skeleton {
  position: relative;
  overflow: hidden;
  background-color: var(--skeleton-bg);
  border-radius: var(--skeleton-radius-sm);
  isolation: isolate;
}
/* ===== Shimmer Animation ===== */
.skeleton::after {
  content: "";
  position: absolute;
  inset: 0;
  transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, var(--skeleton-shimmer), transparent);
  animation: skeleton-shimmer 1.4s infinite;
}
@keyframes skeleton-shimmer {
  100% {
    transform: translateX(100%);
  }
}
/* ===== Pulse fallback ===== */
@media (prefers-reduced-motion: reduce) {
  .skeleton::after {
    animation: none;
  }
}
/* ===== Types ===== */
.skeleton-title {
  height: 24px;
  width: 160px;
  margin-bottom: 16px;
  border-radius: var(--skeleton-radius-md);
}
.skeleton-icon {
  width: 36px;
  height: 36px;
  border-radius: 50%;
}
.skeleton-text {
  height: 14px;
  width: 100%;
  max-width: 140px;
  margin: 6px 0;
}
.skeleton-status {
  width: 20px;
  height: 20px;
  border-radius: 50%;
}
/* ===== Card Skeleton ===== */
.skeleton-card {
  border: 1px solid #e2e8f0;
  border-radius: var(--skeleton-radius-lg);
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
}
/* ===== Layout helpers ===== */
.skeleton-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.skeleton-col {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
/* ===== Grid helper ===== */
.skeleton-grid {
  display: grid;
  gap: 20px;
}
.skeleton-grid-3 {
  grid-template-columns: repeat(3, 1fr);
}
/* ===== Payment specific ===== */
.payment-skeleton {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.payment-skeleton-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.payment-skeleton-card {
  border-radius: 14px;
  padding: 16px;
  border: 1px solid #e2e8f0;
  background: #fff;
}
/* ===== Utility widths ===== */
.w-25 {
  width: 25%;
}
.w-40 {
  width: 40%;
}
.w-50 {
  width: 50%;
}
.w-60 {
  width: 60%;
}
.w-75 {
  width: 75%;
}
.w-100 {
  width: 100%;
}
/* ===== Heights ===== */
.h-10 {
  height: 10px;
}
.h-14 {
  height: 14px;
}
.h-18 {
  height: 18px;
}
.h-24 {
  height: 24px;
}
.h-32 {
  height: 32px;
}
.btn_spinner {
  width: 24px;
  height: 24px;
  border: 4px solid #ddd;
  border-top: 4px solid var(--primary-red-dark);
  border-radius: 50%;
  animation: spin 1s linear infinite;
}
input[type=password]::-ms-reveal,
input[type=password]::-ms-clear {
  display: none;
}
@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
input.form_control::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}
input.p-password-input::placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}
input.form_control::-webkit-input-placeholder,
input.p-password-input::-webkit-input-placeholder {
  color: var(--accent-gray-medium) !important;
}
input.form_control::-moz-placeholder,
input.p-password-input::-moz-placeholder {
  color: var(--accent-gray-medium) !important;
  opacity: 1 !important;
}
.App {
  text-align: center;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
/* Dashboard Layout */
.dashboard-container {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  background-color: var(--body-bg);
}
.main_page {
  display: flex;
  flex-direction: column;
  flex: 1;
  margin-left: 280px;
  /* Sidebar width */
  background-color: var(--body-bg);
}
.content {
  flex: 1;
  padding: 20px;
}
.content_section {
  max-width: 1400px;
  margin: 0 auto;
}
.page_header {
  margin-bottom: 30px;
}
.page_header h1 {
  font-size: var(--h1-font-size);
  font-weight: var(--font-weight700);
  color: var(--gray800);
  margin: 0;
}
.page_content {
  display: flex;
  flex-direction: column;
  background-color: var(--background-white-pure);
  gap: 30px;
}
/* Ensure the login page takes full height */
.login-page-container {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.App-logo {
  height: 40vmin;
  pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
  .App-logo {
    animation: App-logo-spin infinite 20s linear;
  }
}
.App-header {
  background-color: #282c34;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  font-size: calc(10px + 2vmin);
  color: white;
}
.App-link {
  color: #61dafb;
}
@keyframes App-logo-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}.FaqPage {
  padding: 20px;
  width: 100%;
  line-height: 100%;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
.FaqPage .breadcrumb {
  text-align: start;
  font-weight: 400;
  font-size: 14px;
  display: flex;
  column-gap: 10px;
  align-items: center;
}
.FaqPage .breadcrumb .all_collections {
  text-decoration: none;
  color: #64748b;
}
.FaqPage .faq_topic {
  display: flex;
  flex-direction: column;
  align-items: start;
  row-gap: 35px;
}
.FaqPage .faq_header {
  display: flex;
  flex-direction: column;
  row-gap: 40px;
}
.FaqPage .faq_header h2 {
  font-size: 28px;
  font-weight: 700;
}
.FaqPage .faq_blocks {
  display: flex;
  align-items: center;
  column-gap: 100px;
  row-gap: 43px;
  flex-wrap: wrap;
  font-size: 14px;
  font-weight: 500;
}
.FaqPage .faq_blocks .faq_block {
  display: flex;
  align-items: center;
  max-width: 262px;
  column-gap: 20px;
  cursor: pointer;
  text-decoration: none;
  color: var(--secondary-color);
}
.FaqPage .faq_blocks .faq_block p {
  font-size: 12px;
  font-weight: 400;
  color: var(--accent-gray-medium);
}
.FaqPage .faq_blocks .faq_block .faq_block_icon {
  background: var(--secondary-black-light);
  min-height: 60px;
  min-width: 60px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.FaqPage .faq_blocks .faq_block .faq_block_text {
  text-align: start;
  display: flex;
  flex-direction: column;
  row-gap: 10px;
}
.FaqPage .popular_questions {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  align-items: start;
}
.FaqPage .popular_questions h2 {
  font-size: 20px;
  font-weight: 700;
}
.FaqPage .popular_questions .faq_questions {
  display: flex;
  flex-direction: column;
  row-gap: 20px;
  width: 100%;
}
.FaqPage .popular_questions .faq_questions .faq_question {
  background: var(--background-color);
  padding: 16px 20px;
  color: var(--accent-gray-darkest);
  font-weight: 500;
  font-size: 14px;
  border: 1px solid var(--border-base);
  border-radius: 7px;
  display: flex;
  flex-direction: column;
  row-gap: 8px;
}
.FaqPage .popular_questions .faq_questions .faq_question .faq_question_header {
  display: flex;
  column-gap: 20px;
  flex-direction: column;
}
.FaqPage .popular_questions .faq_questions .faq_question .faq_question_header .faq_question_title {
  display: flex;
  align-items: center;
  column-gap: 10px;
}
.FaqPage .popular_questions .faq_questions .faq_question .question_description {
  font-size: 14px;
  font-weight: 300;
  color: var(--accent-gray-darkest);
  text-align: start;
  margin-left: 25px;
}
.FaqPage .popular_questions .faq_questions .faq_loadmore {
  background: var(--secondary-black-light);
  color: var(--light);
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  border-radius: 5px;
  padding: 12px 15px;
  border: none;
}.settings-sidebar {
  background: var(--background-color);
  border-right: 1px solid var(--border-base);
  padding: var(--padding-container-default);
  border-radius: 10px;
  min-width: 20%;
  max-width: 20%;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.settings-sidebar .settings-section-item {
  display: flex;
  align-items: center;
  width: 100%;
  padding: 18px 5px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--border-base);
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  color: var(--accent-gray-medium);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  font-weight: var(--font-weight400);
}
.settings-sidebar .settings-section-item:hover {
  color: var(--secondary-color);
}
.settings-sidebar .settings-section-item.active {
  color: var(--secondary-color);
  font-weight: var(--font-weight500);
}
.settings-sidebar .settings-section-item.active .section-label {
  font-weight: var(--font-weight500);
}
.settings-sidebar .settings-section-item .section-label {
  font-family: "Ubuntu", sans-serif;
  line-height: 1.4;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}.settings-item {
  padding: 0;
}
.settings-item .settings-item-content {
  padding: 16px 0;
}
.settings-item .settings-item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.settings-item .settings-item-row-gpt-selection {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  text-align: start;
  width: 100%;
}
.settings-item .settings-label {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight400);
  color: var(--info-blue-dark);
  font-family: "Ubuntu", sans-serif;
  line-height: 1.4;
  text-align: start;
}
.settings-item .settings-control {
  display: flex;
  align-items: start;
  flex-direction: column;
}
.settings-item .settings-separator {
  height: 1px;
  background: var(--border-base);
  width: 100%;
  margin: 0;
}

.settings-item:last-child .settings-separator {
  display: none;
}.settings-radio-group {
  display: flex;
  gap: 24px;
  align-items: center;
}

.radio-option {
  display: flex;
  align-items: center;
  gap: var(--gap-icon-text);
}

.radio-input {
  width: 16px;
  height: 16px;
  margin: 0;
  border: 1px solid var(--secondary-color);
  border-radius: 50%;
  background: white;
  cursor: pointer;
  position: relative;
  appearance: none;
  -webkit-appearance: none;
}
.radio-input:checked {
  border-color: var(--secondary-color);
  background: white;
}
.radio-input:checked::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 6px;
  height: 6px;
  background: var(--secondary-color);
  border-radius: 50%;
}
.radio-input:not(:checked) {
  border-color: #d1d5db;
  background: white;
}
.radio-input:focus {
  outline: none;
  box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.1);
}

.radio-label {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight400);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  line-height: 1.4;
}.settings-dropdown-wrapper {
  position: relative;
  display: inline-block;
  width: 100%;
  min-width: 140px;
}

.settings-dropdown {
  padding: 10px 14px;
  border: 1px solid var(--border-base);
  border-radius: 6px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  font-weight: var(--font-weight-400);
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.settings-dropdown:focus {
  outline: none;
  border-color: var(--primary-red-main);
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.1);
}
.settings-dropdown:hover {
  border-color: var(--accent-gray-medium);
}
.settings-dropdown.open {
  border-color: var(--primary-red-main);
  box-shadow: 0 0 0 2px rgba(220, 38, 38, 0.1);
}
.settings-dropdown .dropdown-value {
  flex: 1;
  text-align: left;
}

.dropdown-arrow {
  position: absolute;
  right: 16px;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--accent-gray-medium);
  transition: transform 0.2s ease;
}
.dropdown-arrow svg {
  width: 14px;
  height: 14px;
}

.settings-dropdown.open .dropdown-arrow {
  transform: translateY(-50%) rotate(180deg);
}

.dropdown-menu {
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border: 1px solid var(--border-base);
  border-radius: 6px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  z-index: 1000;
  max-height: 200px;
  overflow-y: auto;
  margin-top: 4px;
}

.dropdown-option {
  padding: 8px 16px;
  cursor: pointer;
  transition: all 0.2s ease;
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  font-weight: var(--font-weight-400);
  text-align: left;
  width: 100%;
  border: none;
  background: none;
}
.dropdown-option:hover {
  background: var(--primary-red-main);
  color: white;
}
.dropdown-option:first-child {
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
}
.dropdown-option:last-child {
  border-bottom-left-radius: 6px;
  border-bottom-right-radius: 6px;
}.general-preferences {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}.gpt-section {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.gpt-section .gpt-section-title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 8px 0;
  line-height: 1.3;
  text-align: start;
}
.gpt-section .settings-item .settings-separator {
  display: none;
}
.gpt-section .settings-dropdown-wrapper {
  width: 100%;
  min-width: 200px;
}
.gpt-section .settings-dropdown {
  width: 100%;
  font-size: 16px;
  min-height: 46px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  background: #ffffff;
  color: #333333;
  font-weight: 400;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}
.gpt-section .settings-dropdown:hover {
  border-color: #c0c0c0;
}
.gpt-section .settings-dropdown:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gpt-section .dropdown-arrow {
  right: 20px;
}
.gpt-section .dropdown-arrow svg {
  width: 18px;
  height: 18px;
  color: #666666;
}
.gpt-section .settings-input-wrapper {
  width: 100%;
  min-width: 200px;
}
.gpt-section .settings-input {
  width: 100%;
  padding: 20px;
  font-size: 16px;
  min-height: 56px;
  border-radius: 8px;
  border: 1px solid #e0e0e0;
  background: #ffffff;
  color: #333333;
  font-weight: 400;
  line-height: 1.5;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  transition: all 0.2s ease;
}
.gpt-section .settings-input::placeholder {
  color: #999999;
}
.gpt-section .settings-input:hover {
  border-color: #c0c0c0;
}
.gpt-section .settings-input:focus {
  outline: none;
  border-color: #007bff;
  box-shadow: 0 0 0 3px rgba(0, 123, 255, 0.1);
}
.gpt-section .gpt-section-actions {
  display: flex;
  justify-content: flex-end;
  gap: 28px;
  padding-top: 12px;
}
.gpt-section .gpt-section-actions .reset-button {
  padding: 12px 22px;
  border: 1px solid var(--border-base);
  border-radius: 6px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight400);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.gpt-section .gpt-section-actions .reset-button:hover {
  background: var(--accent-light-gray-lightest);
  border-color: var(--accent-gray-medium);
}
.gpt-section .gpt-section-actions .save-button {
  padding: 12px 22px;
  border: 1px solid #333;
  border-radius: 6px;
  background: #333;
  color: var(--background-color);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight400);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.gpt-section .gpt-section-actions .save-button:hover {
  background: var(--primary-red-dark);
  border-color: var(--primary-red-dark);
}
.gpt-section .gpt-section-actions .save-button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
  border: 0;
}
.gpt-section .error-text {
  display: block;
  color: #dc3545;
  font-size: 14px;
  margin-top: 4px;
  font-weight: 400;
}.notification-configuration {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
}
.notification-configuration .notification-setting {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 20px 0;
  gap: 20px;
}
.notification-configuration .notification-setting .notification-setting-content {
  flex: 1 1;
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: flex-start;
  justify-content: center;
}
.notification-configuration .notification-setting .notification-setting-content .notification-label {
  font-size: 16px;
  font-weight: 400;
  color: var(--info-blue-dark);
  font-family: "Ubuntu", sans-serif;
  line-height: 1.4;
  cursor: pointer;
}
.notification-configuration .notification-setting .notification-setting-content .notification-description {
  font-size: 14px;
  font-weight: 400;
  color: var(--accent-gray-light);
  font-family: "Ubuntu", sans-serif;
  line-height: 1.5;
  text-align: left;
}
.notification-configuration .notification-setting .notification-control {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.notification-configuration .notification-separator {
  height: 1px;
  background: #e0e0e0;
  width: 100%;
  margin: 0;
}.summary-table-container {
  background: #fff;
  border-radius: 8px;
  overflow: hidden;
}
.summary-table-container .summary-table-header {
  display: flex;
  flex-direction: column;
  padding: 20px 24px;
  gap: 16px;
  width: 100%;
}
.summary-table-container .summary-table-header .header-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.summary-table-container .summary-table-header .header-top .header-left .summary-table-title {
  font-size: 24px;
  font-weight: 600;
  color: #111827;
  margin: 0;
}
.summary-table-container .summary-table-header .header-controls-row {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 16px;
  width: 100%;
}
.summary-table-container .summary-table-header .success-message-row {
  display: flex;
  justify-content: flex-start;
  width: 100%;
}
.summary-table-container .summary-table-header .success-message-row .success-message {
  display: flex;
  align-items: center;
  background: #d1fae5;
  color: #065f46;
  padding: 8px 12px;
  border-radius: 6px;
  font-size: 14px;
}
.summary-table-container .summary-table-header .success-message-row .success-message .success-icon {
  background: #10b981;
  color: white;
  border-radius: 50%;
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  margin-right: 8px;
}
.summary-table-container .summary-table-header .add-button {
  background: #333;
  color: white;
  border: none;
  padding: 10px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.summary-table-container .summary-table-header .add-button:hover {
  background: var(--primary-red-main);
}
.summary-table-container .summary-table-header .header-right {
  display: flex;
  align-items: center;
  gap: 16px;
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container {
  position: relative;
  display: flex;
  align-items: center;
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container .search-input {
  width: 240px;
  padding: 8px 16px 8px 40px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  outline: none;
  transition: border-color 0.2s;
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container .search-input:focus {
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container .search-input::placeholder {
  color: #9ca3af;
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container .search-icon {
  position: absolute;
  left: 12px;
  color: #6b7280;
  pointer-events: none;
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container .search-clear-btn {
  position: absolute;
  right: 8px;
  background: none;
  border: none;
  color: #6b7280;
  cursor: pointer;
  padding: 4px;
  border-radius: 4px;
  transition: background-color 0.2s;
}
.summary-table-container .summary-table-header .header-right .search-wrapper .search-input-container .search-clear-btn:hover {
  background-color: #f3f4f6;
}
.summary-table-container .summary-table-header .header-right .add-button {
  background: #333;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}
.summary-table-container .summary-table-header .header-right .add-button:hover {
  background: var(--primary-red-main);
}
.summary-table-container .summary-table-wrapper {
  border-radius: 10px;
  overflow-x: auto;
  width: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.summary-table-container .summary-table-wrapper .no-data {
  text-align: center;
  padding: 60px 20px;
  color: #6b7280;
}
.summary-table-container .summary-table-wrapper .no-data p {
  font-size: 16px;
  margin: 0;
}
.summary-table-container .summary-table-wrapper .summary-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 14px;
}
.summary-table-container .summary-table-wrapper .summary-table thead {
  background: var(--accent-gray-darkest);
}
.summary-table-container .summary-table-wrapper .summary-table thead th {
  color: white;
  font-weight: 600;
  padding: 18px 20px;
  text-align: left;
  border-bottom: none;
  white-space: nowrap;
  position: relative;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.summary-table-container .summary-table-wrapper .summary-table thead th .sort-indicator {
  margin-left: 8px;
  opacity: 0.6;
  cursor: pointer;
}
.summary-table-container .summary-table-wrapper .summary-table thead th:first-child {
  padding-left: 24px;
}
.summary-table-container .summary-table-wrapper .summary-table thead th:last-child {
  padding-right: 24px;
  position: sticky;
  right: 0;
  background: var(--accent-gray-darkest);
  z-index: 10;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr {
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.2s;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr:hover {
  background-color: #f9fafb;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr:hover td:last-child {
  background: #f9fafb;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr:last-child {
  border-bottom: none;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td {
  padding: 18px 20px;
  color: #374151;
  vertical-align: middle;
  font-size: 14px;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td:first-child {
  padding-left: 24px;
  font-weight: 500;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td:last-child {
  padding-right: 24px;
  position: sticky;
  right: 0;
  background: #fff;
  z-index: 5;
  box-shadow: -4px 0 4px -4px rgba(0, 0, 0, 0.1);
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td.text-center {
  text-align: center;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td.text-right {
  text-align: right;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge {
  display: inline-block;
  padding: 6px 12px;
  border-radius: 10px;
  font-size: 12px;
  font-weight: 500;
  text-align: center;
  min-width: 50px;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.paid {
  background: #22c55e;
  color: white;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.yes {
  background: #d1fae5;
  color: #065f46;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.no {
  background: #fee2e2;
  color: #991b1b;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.active {
  background: #d1fae5;
  color: #065f46;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.inactive {
  background: #fee2e2;
  color: #991b1b;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.low-stock {
  background: #fef3c7;
  color: #92400e;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.pending {
  background: #e0e7ff;
  color: #3730a3;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .data-type-badge {
  background: #e0e7ff;
  color: #3730a3;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr td .aggregation-badge {
  background: #fef3c7;
  color: #92400e;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr .status_icon {
  opacity: 0.7;
  width: 80px;
  padding: 2px 4px;
}
.summary-table-container .summary-table-wrapper .summary-table tbody tr .status_icon span {
  font-size: 12px;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff !important;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-info {
  color: #6b7280;
  font-size: 14px;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls {
  display: flex;
  gap: 4px;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn.active {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  color: white;
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn.active:hover {
  background: var(--primary-red-main);
  border-color: var(--primary-red-main);
}
.summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.header-actions {
  display: flex;
  flex-direction: row-reverse;
  align-items: center;
  gap: 8px;
}

.export-button {
  background: transparent;
  color: #6c757d;
  padding: 8px;
  border-radius: 4px;
  font-size: 14px;
  border: none;
  font-weight: 400;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
}
.export-button svg {
  width: 24px;
  height: 24px;
}
.export-button svg circle {
  fill: #6c757d;
}
.export-button:hover svg circle {
  fill: var(--secondary-color);
}

.add-user-button {
  padding: 10px 20px;
  border: none;
  background: #333;
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.add-user-button:hover {
  background: var(--primary-red-main);
}
.add-user-button:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}

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

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

.table-cell-start {
  text-align: start;
}

@media (max-width: 768px) {
  .summary-table-container .summary-table-header {
    padding: 16px;
  }
  .summary-table-container .summary-table-header .header-top {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .summary-table-container .summary-table-header .header-bottom {
    flex-direction: column;
    align-items: stretch;
    gap: 12px;
  }
  .summary-table-container .summary-table-header .header-bottom .header-controls {
    justify-content: space-between;
  }
  .summary-table-container .summary-table-wrapper .pagination-wrapper {
    gap: 12px;
    text-align: center;
  }
}
@media (max-width: 480px) {
  .summary-table-container {
    margin: 10px 0;
  }
  .summary-table-container .summary-table-header {
    padding: 16px;
  }
  .summary-table-container .summary-table-header .header-right {
    flex-direction: column;
    gap: 12px;
  }
  .summary-table-container .summary-table-wrapper .summary-table {
    font-size: 12px;
  }
  .summary-table-container .summary-table-wrapper .summary-table thead th,
  .summary-table-container .summary-table-wrapper .summary-table tbody td {
    padding: 12px 16px;
  }
  .summary-table-container .summary-table-wrapper .summary-table thead th:first-child,
  .summary-table-container .summary-table-wrapper .summary-table tbody td:first-child {
    padding-left: 16px;
  }
  .summary-table-container .summary-table-wrapper .summary-table thead th:last-child,
  .summary-table-container .summary-table-wrapper .summary-table tbody td:last-child {
    padding-right: 16px;
  }
  .summary-table-container .summary-table-wrapper .pagination-wrapper {
    padding: 12px 16px;
  }
}.billing-cards-container {
  width: 100%;
  display: flex;
  gap: 20px;
}
.billing-cards-container .plan-details-card {
  height: 161px;
  width: 100%;
  padding: 20px;
  display: flex;
  flex-direction: column;
  gap: 16px;
  border: 1px solid var(--border-base);
  border-radius: 12px;
}
.billing-cards-container .plan-details-card .plan-content {
  display: flex;
  align-items: center;
}
.billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle {
  position: relative;
  width: 80px;
  height: 80px;
}
.billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-bar {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: conic-gradient(var(--progress-color, #4ade80) 0deg calc(var(--progress) * 1deg), #e5e7eb calc(var(--progress) * 1deg) 360deg);
  display: flex;
  align-items: center;
  justify-content: center;
}
.billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-bar::before {
  content: "";
  width: 60px;
  height: 60px;
  border-radius: 50%;
  background: white;
  position: absolute;
}
.billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  z-index: 1;
}
.billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content .progress-number {
  font-size: 20px;
  font-weight: 700;
  color: #3a4347;
  line-height: 1;
}
.billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content .progress-text {
  font-size: 12px;
  font-weight: 400;
  color: #3a4347;
  line-height: 1;
  text-wrap: nowrap;
}
.billing-cards-container .plan-details-card .plan-content .plan-info {
  display: flex;
}
.billing-cards-container .plan-details-card .plan-content .plan-info .plan-section:nth-child(2) {
  border-left: 1px solid var(--border-base);
  border-right: 1px solid var(--border-base);
}
.billing-cards-container .plan-details-card .plan-content .plan-info .plan-section {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 8px;
  text-align: start;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 400;
}
.billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item .info-label {
  text-wrap: nowrap;
}
.billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item .info-value {
  font-weight: 500;
  text-wrap: nowrap;
}
.billing-cards-container .payment-mode-card {
  height: 161px;
  width: 35%;
  padding: 20px;
  border: 1px solid var(--border-base);
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method {
  display: flex;
  align-items: start;
  justify-content: center;
  gap: 12px;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .visa-logo .visa-card {
  width: 70px;
  height: 46px;
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  flex-shrink: 0;
  overflow: hidden;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .visa-logo .visa-card::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(120deg, #ffc72c 0%, #ff6b35 100%);
  clip-path: polygon(0 0, 18% 0, 28% 100%, 0 100%);
  z-index: 1;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .visa-logo .visa-card .visa-text {
  color: #1a1f71;
  font-size: 18px;
  font-weight: 700;
  letter-spacing: 1.2px;
  z-index: 2;
  position: relative;
  font-family: Arial, sans-serif;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .card-details {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-type {
  font-size: 14px;
  font-weight: 500;
  color: var(--secondary-color);
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-number {
  font-size: 14px;
  font-weight: 500;
  color: var(--secondary-color);
  letter-spacing: 1px;
}
.billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-expiry {
  font-size: 12px;
  color: #6c757d;
}
@media (max-width: 1024px) {
  .billing-cards-container .plan-details-card {
    height: auto;
  }
  .billing-cards-container .plan-details-card .plan-content {
    flex-wrap: wrap;
    gap: 20px;
    align-items: start;
  }
}

.card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.card-header .card-title {
  text-wrap: nowrap;
}
.card-header .header-buttons {
  display: flex;
  gap: 10px;
  align-items: center;
}
.card-header .upgrade-btn,
.card-header .change-btn,
.card-header .renew-btn {
  background: #333;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.card-header .upgrade-btn:hover,
.card-header .change-btn:hover,
.card-header .renew-btn:hover {
  background: #444;
}
.card-header .renew-btn {
  background: var(--primary-red-main);
}
.card-header .renew-btn:hover {
  background: var(--primary-red-dark);
}

/* Media queries accounting for sidebar width */
@media (max-width: 1410px) {
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section {
    padding: 0 8px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item {
    font-size: 11px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item .info-label,
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item .info-value {
    text-wrap: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
  }
}
/* When sidebar is open, effective content width is reduced */
@media (max-width: 1300px) {
  .billing-cards-container {
    gap: 16px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle {
    width: 70px;
    height: 70px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-bar::before {
    width: 50px;
    height: 50px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content .progress-number {
    font-size: 18px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content .progress-text {
    font-size: 10px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section {
    padding: 0 6px;
    gap: 16px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item {
    font-size: 10px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method {
    gap: 8px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method .visa-logo .visa-card {
    width: 60px;
    height: 40px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-type,
  .billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-number {
    font-size: 12px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-expiry {
    font-size: 10px;
  }
}
@media (max-width: 1200px) {
  .billing-cards-container {
    flex-direction: column;
    gap: 20px;
  }
  .billing-cards-container .plan-details-card {
    width: 100%;
    height: auto;
  }
  .billing-cards-container .plan-details-card .plan-content {
    gap: 20px;
    align-items: flex-start;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress {
    align-self: center;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle {
    width: 80px;
    height: 80px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-bar::before {
    width: 60px;
    height: 60px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content .progress-number {
    font-size: 20px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-progress .progress-circle .progress-content .progress-text {
    font-size: 12px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info {
    width: 100%;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section {
    padding: 0 16px;
    gap: 20px;
  }
  .billing-cards-container .plan-details-card .plan-content .plan-info .plan-section .info-item {
    font-size: 12px;
  }
  .billing-cards-container .payment-mode-card {
    width: 100%;
    height: auto;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method {
    justify-content: flex-start;
    gap: 12px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method .visa-logo .visa-card {
    width: 70px;
    height: 46px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-type,
  .billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-number {
    font-size: 14px;
  }
  .billing-cards-container .payment-mode-card .payment-content .payment-method .card-details .card-expiry {
    font-size: 12px;
  }
}.add-user-form-container {
  background: white;
  border-radius: 8px;
  margin-bottom: 24px;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

.form-header {
  padding: 24px 24px 16px 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.form-header .form-title {
  font-size: 16px;
  font-weight: var(--font-weight500);
  color: var(--secondary-color);
  margin: 0 0 4px 0;
  font-family: "Ubuntu", sans-serif;
}
.form-header .form-subtitle {
  font-size: 20px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  font-family: "Ubuntu", sans-serif;
}

.add-user-form {
  padding: 24px;
}
.add-user-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px;
}
@media (max-width: 768px) {
  .add-user-form .form-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.add-user-form .form-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.add-user-form .form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.add-user-form .form-group .form-label {
  font-size: 14px;
  font-weight: var(--font-weight500);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  text-align: start;
}
.add-user-form .form-group .form-input,
.add-user-form .form-group .form-select {
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  font-family: "Ubuntu", sans-serif;
  color: var(--secondary-color);
  background: white;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.add-user-form .form-group .form-input:focus,
.add-user-form .form-group .form-select:focus {
  outline: none;
  border-color: var(--primary500);
  box-shadow: 0 0 0 3px var(--primary-hover200);
}
.add-user-form .form-group .form-input::placeholder,
.add-user-form .form-group .form-select::placeholder {
  color: #9ca3af;
}
.add-user-form .form-group .form-input.error,
.add-user-form .form-group .form-select.error {
  border-color: var(--primary-red-main);
  background-color: rgba(211, 31, 31, 0.05);
}
.add-user-form .form-group .form-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
  appearance: none;
}
.add-user-form .form-group .error-message {
  font-size: 12px;
  color: var(--primary-red-main);
  font-weight: var(--font-weight400);
  margin-top: 2px;
  text-align: start;
}
.add-user-form .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 16px;
}
.add-user-form .form-actions .add-user-button {
  padding: 10px 20px;
  border: none;
  background: var(--secondary-color);
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.add-user-form .form-actions .add-user-button:hover {
  background: var(--primary-red-main);
}
.add-user-form .form-actions .add-user-button:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}

.btn-wrapper {
  display: flex;
  align-items: center;
  justify-content: end;
}
.btn-wrapper .btn {
  padding: 10px 20px;
  border: none;
  background: #333;
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}

.cancel-button {
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.cancel-button:hover {
  color: #000;
}

@media (max-width: 768px) {
  .add-user-form-container {
    margin-bottom: 16px;
  }
  .form-header {
    padding: 20px 20px 16px 20px;
  }
  .add-user-form {
    padding: 20px;
  }
  .form-actions {
    flex-direction: column-reverse;
    gap: 8px;
  }
  .form-actions .cancel-button,
  .form-actions .add-user-button {
    width: 100%;
    padding: 12px 20px;
  }
}
@media (max-width: 480px) {
  .form-header {
    padding: 16px 16px 12px 16px;
  }
  .form-header .form-title {
    font-size: 14px;
  }
  .form-header .form-subtitle {
    font-size: 18px;
  }
  .add-user-form {
    padding: 16px;
  }
}.edit-user-form-container {
  background: white;
  border-radius: 8px;
  margin-bottom: 24px;
  overflow: hidden;
  width: 100%;
}

.form-header {
  padding: 24px 24px 16px 24px;
}
.form-header .form-title {
  font-size: 16px;
  font-weight: var(--font-weight500);
  color: var(--secondary-color);
  margin: 0 0 4px 0;
  font-family: "Ubuntu", sans-serif;
}
.form-header .form-subtitle {
  font-size: 20px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  font-family: "Ubuntu", sans-serif;
}

.edit-user-form {
  padding: 24px;
}
.edit-user-form .form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
  margin-bottom: 32px;
}
@media (max-width: 768px) {
  .edit-user-form .form-row {
    grid-template-columns: 1fr;
    gap: 16px;
  }
}
.edit-user-form .form-column {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.edit-user-form .form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.edit-user-form .form-group label {
  font-size: 14px;
  font-weight: var(--font-weight500);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  text-align: start;
}
.edit-user-form .form-group .form-input,
.edit-user-form .form-group .form-select {
  padding: 12px 16px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  font-family: "Ubuntu", sans-serif;
  color: var(--secondary-color);
  background: white;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.edit-user-form .form-group .form-input:focus,
.edit-user-form .form-group .form-select:focus {
  outline: none;
  border-color: var(--primary500);
  box-shadow: 0 0 0 3px var(--primary-hover200);
}
.edit-user-form .form-group .form-input::placeholder,
.edit-user-form .form-group .form-select::placeholder {
  color: #9ca3af;
}
.edit-user-form .form-group .form-input.error,
.edit-user-form .form-group .form-select.error {
  border-color: var(--primary-red-main);
  background-color: rgba(211, 31, 31, 0.05);
}
.edit-user-form .form-group .form-select {
  cursor: pointer;
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3e%3c/svg%3e");
  background-position: right 12px center;
  background-repeat: no-repeat;
  background-size: 16px;
  padding-right: 40px;
  appearance: none;
}
.edit-user-form .form-group .error-message {
  font-size: 14px;
  color: var(--primary-red-main);
  font-weight: var(--font-weight400);
  margin-top: 2px;
  text-align: start;
}
.edit-user-form .form-group .input-error {
  border: 1px solid #e63946 !important;
}
.edit-user-form .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 16px;
}
.edit-user-form .form-actions .cancel-button {
  padding: 10px 20px;
  border: 1px solid var(--primary-red-main);
  background: white;
  color: var(--primary-red-main);
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.edit-user-form .form-actions .cancel-button:hover {
  background: var(--primary-red-main);
  color: white;
}
.edit-user-form .form-actions .add-user-button {
  padding: 10px 20px;
  border: none;
  background: var(--secondary-color);
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.edit-user-form .form-actions .add-user-button:hover {
  background: var(--primary-red-main);
}
.edit-user-form .form-actions .add-user-button:disabled {
  background: #9ca3af;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .edit-user-form-container {
    margin-bottom: 16px;
  }
  .form-header {
    padding: 20px 20px 16px 20px;
  }
  .edit-user-form {
    padding: 20px;
  }
  .form-actions {
    flex-direction: column-reverse;
    gap: 8px;
  }
  .form-actions .cancel-button,
  .form-actions .add-user-button {
    width: 100%;
    padding: 12px 20px;
  }
}
@media (max-width: 480px) {
  .form-header {
    padding: 16px 16px 12px 16px;
  }
  .form-header .form-title {
    font-size: 14px;
  }
  .form-header .form-subtitle {
    font-size: 18px;
  }
  .edit-user-form {
    padding: 16px;
  }
}.delete-user-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.delete-user-modal-content {
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 530px;
  animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.modal-header {
  display: flex;
  align-items: flex-start;
  padding: 24px;
}
.modal-header .delete-icon-container {
  width: 48px;
  height: 48px;
  border: 2px solid #fecaca;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  flex-shrink: 0;
}
.modal-header .delete-icon-container .delete-icon {
  color: #f87171;
  width: 24px;
  height: 24px;
}
.modal-header .modal-title-section {
  flex: 1;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
}
.modal-header .modal-title-section .modal-title {
  font-size: 18px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  font-family: "Ubuntu", sans-serif;
  line-height: 1.3;
}
.modal-header .modal-title-section .modal-subtitle {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.modal-header .modal-title-section .close-button {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #6b7280;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-header .modal-title-section .close-button:hover {
  background: #f3f4f6;
  color: var(--secondary-color);
}
.modal-header .modal-title-section .close-button svg {
  width: 16px;
  height: 16px;
}

.modal-body {
  padding: 16px 24px 24px 24px;
}
.modal-body .confirmation-message {
  font-size: 14px;
  color: #374151;
  margin: 0;
  line-height: 1.5;
  font-family: "Ubuntu", sans-serif;
}

.confirmation_parent {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.modal-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  padding: 24px;
}
.modal-actions .cancel-button {
  padding: 10px 20px;
  border: 1px solid var(--primary-red-main);
  background: white;
  color: var(--primary-red-main);
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.modal-actions .cancel-button:hover {
  background: var(--primary-red-main);
  color: white;
}
.modal-actions .delete-button {
  padding: 10px 20px;
  border: none;
  background: var(--secondary-color);
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.modal-actions .delete-button:hover {
  background: var(--primary-red-main);
}

@media (max-width: 768px) {
  .delete-user-modal-overlay {
    padding: 16px;
  }
  .delete-user-modal-content {
    max-width: 100%;
  }
  .modal-header {
    padding: 20px 20px 16px 20px;
  }
  .modal-header .delete-icon-container {
    width: 40px;
    height: 40px;
    margin-right: 12px;
  }
  .modal-header .delete-icon-container .delete-icon {
    width: 20px;
    height: 20px;
  }
  .modal-header .modal-title-section .modal-title {
    font-size: 16px;
  }
  .modal-body {
    padding: 12px 20px 20px 20px;
  }
  .modal-body .confirmation-message {
    font-size: 13px;
  }
  .modal-actions {
    flex-direction: column-reverse;
    gap: 8px;
  }
  .modal-actions .cancel-button,
  .modal-actions .delete-button {
    width: 100%;
    padding: 12px 20px;
  }
}
@media (max-width: 480px) {
  .delete-user-modal-overlay {
    padding: 12px;
  }
  .modal-header {
    padding: 16px 16px 12px 16px;
  }
  .modal-header .delete-icon-container {
    width: 36px;
    height: 36px;
    margin-right: 10px;
  }
  .modal-header .delete-icon-container .delete-icon {
    width: 18px;
    height: 18px;
  }
  .modal-header .modal-title-section .modal-title {
    font-size: 15px;
  }
  .modal-body {
    padding: 10px 16px 16px 16px;
  }
  .modal-body .confirmation-message {
    font-size: 12px;
  }
  .modal-actions {
    padding: 0 16px 16px 16px;
  }
}.user-management {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.user-management .user-tabs {
  display: flex;
  flex-direction: column;
  gap: 0;
  margin-bottom: 24px;
  border-bottom: 1px solid #e5e7eb;
}
.user-management .user-tabs .tabs {
  display: flex;
  align-items: center;
  justify-content: start;
}
.user-management .user-tabs .tab-button {
  background: none;
  border: none;
  padding: 12px 24px;
  font-size: 16px;
  font-weight: 500;
  color: #6b7280;
  cursor: pointer;
  border-bottom: 2px solid transparent;
  transition: all 0.2s ease;
}
.user-management .user-tabs .tab-button:hover {
  color: var(--secondary-color);
}
.user-management .user-tabs .tab-button.active {
  color: var(--secondary-color);
  border-bottom-color: var(--secondary-color);
  font-weight: 600;
}
.user-management .user-group-section .user-group-title {
  font-size: 18px;
  font-weight: 600;
  color: var(--secondary-color);
  margin: 0 0 16px 0;
}
.user-management .no-user {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table thead {
  background: var(--secondary-black-darkest);
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table thead th {
  color: white;
  font-weight: 600;
  padding: 18px 20px;
  text-align: left;
  border-bottom: none;
  white-space: nowrap;
  position: relative;
  font-size: 14px;
  letter-spacing: 0.5px;
  text-transform: uppercase;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table thead th .sort-indicator {
  margin-left: 8px;
  opacity: 0.6;
  cursor: pointer;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table thead th:first-child {
  padding-left: 24px;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table thead th:last-child {
  padding-right: 24px;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr {
  border-bottom: 1px solid #e5e7eb;
  transition: background-color 0.2s;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr:hover {
  background-color: #f9fafb;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr:last-child {
  border-bottom: none;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td {
  padding: 18px 20px;
  color: #374151;
  vertical-align: middle;
  font-size: 14px;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td:first-child {
  padding-left: 24px;
  font-weight: 500;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td:last-child {
  padding-right: 24px;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td.text-center {
  text-align: center;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td.text-right {
  text-align: right;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge {
  display: inline-block;
  padding: 4px 12px;
  border-radius: 12px;
  font-size: 12px;
  font-weight: 500;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.active {
  background: #dcfce7;
  color: #166534;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .status-badge.inactive {
  background: #fee2e2;
  color: #991b1b;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .action-buttons {
  display: flex;
  gap: 8px;
  justify-content: center;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .action-buttons .action-btn {
  width: 32px;
  height: 32px;
  border: 1px solid #e5e7eb;
  background: white;
  border-radius: 6px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .action-buttons .action-btn:hover {
  background: #f8f9fa;
  border-color: #d1d5db;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .summary-table tbody tr td .action-buttons .action-btn svg {
  color: #374151;
  stroke-width: 1.5;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 24px;
  border-top: 1px solid #e5e7eb;
  background: #ffffff !important;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-info {
  color: #6b7280;
  font-size: 14px;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls {
  display: flex;
  gap: 4px;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 6px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn.active {
  background: var(--secondary-color);
  border-color: var(--secondary-color);
  color: white;
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn.active:hover {
  background: var(--primary-red-main);
  border-color: var(--primary-red-main);
}
.user-management .user-table .summary-table-container .summary-table-wrapper .pagination-wrapper .pagination-controls .pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.nav_separator {
  height: 2px;
  background: #e2e8f0;
  margin: 12px 0px;
  width: 100%;
}

.user-list-section {
  height: 100%;
  display: flex;
}

@media (max-width: 768px) {
  .user-management .user-list-section .user-list-header {
    flex-direction: column;
    align-items: stretch;
    gap: 16px;
  }
  .user-management .user-list-section .user-list-header .user-list-actions {
    justify-content: space-between;
    flex-wrap: wrap;
  }
  .user-management .user-list-section .user-list-header .user-list-actions .search-wrapper .search-input {
    width: 150px;
  }
}.caching-preferences {
  width: 100%;
  max-width: 100%;
  margin: 0 auto;
  background: white;
  min-height: 70vh;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  position: relative;
}

.caching-title {
  font-size: 20px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  display: flex;
  font-family: "Ubuntu", sans-serif;
  line-height: 1.3;
}

.caching-actions {
  display: flex;
  align-items: center;
  justify-content: end;
  gap: 20px;
}
.caching-actions .reset-button {
  border: 1px solid var(--secondary-black-light);
  background: white;
  color: var(--secondary-color);
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  padding: 12px 16px;
}
.caching-actions .reset-button:hover {
  background: #f9fafb;
  border-color: #9ca3af;
}
.caching-actions .reset-button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}
.caching-actions .save-button {
  border: none;
  background: #333;
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
  padding: 12px 16px;
}
.caching-actions .save-button:hover {
  background: var(--primary-red-main);
}
.caching-actions .save-button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}

@media (max-width: 768px) {
  .caching-preferences {
    padding: 20px;
  }
  .caching-title {
    font-size: 18px;
  }
}
@media (max-width: 480px) {
  .caching-preferences {
    padding: 16px;
  }
  .caching-title {
    font-size: 16px;
  }
}.otp-verification-modal-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background: rgba(0, 0, 0, 0.5);
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1000;
  padding: 20px;
}

.otp-verification-modal-content {
  background: white;
  border-radius: 12px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
  width: 100%;
  max-width: 530px;
  animation: modalSlideIn 0.3s ease-out;
}

@keyframes modalSlideIn {
  from {
    opacity: 0;
    transform: translateY(-20px) scale(0.95);
  }
  to {
    opacity: 1;
    transform: translateY(0) scale(1);
  }
}
.modal-header {
  display: flex;
  align-items: flex-start;
  padding: 24px;
}
.modal-header .otp-icon-container {
  width: 48px;
  height: 48px;
  border: 2px solid #dbeafe;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  margin-right: 16px;
  flex-shrink: 0;
}
.modal-header .otp-icon-container .otp-icon {
  color: #3b82f6;
  width: 24px;
  height: 24px;
  text-decoration: dashed;
}
.modal-header .modal-title-section {
  flex: 1;
  display: flex;
  justify-content: space-between;
  flex-direction: column;
  align-items: flex-start;
}
.modal-header .modal-title-section .modal-title {
  font-size: 18px;
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  font-family: "Ubuntu", sans-serif;
  line-height: 1.3;
}
.modal-header .modal-title-section .confirmation-message {
  font-size: 14px;
  color: #374151;
  line-height: 1.5;
  font-family: "Ubuntu", sans-serif;
}
.modal-header .modal-title-section .close-button {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #6b7280;
  border-radius: 4px;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.modal-header .modal-title-section .close-button:hover {
  background: #f3f4f6;
  color: var(--secondary-color);
}
.modal-header .modal-title-section .close-button svg {
  width: 16px;
  height: 16px;
}

.modal-body {
  padding: 16px 24px 24px 24px;
}
.modal-body .otp-input-container {
  display: flex;
  justify-content: center;
  margin-bottom: 24px;
}
.modal-body .otp-input-container .otp-input {
  width: 100%;
  max-width: 200px;
  padding: 12px 16px;
  border: 2px solid #e5e7eb;
  border-radius: 8px;
  font-size: 18px;
  font-weight: var(--font-weight500);
  text-align: center;
  letter-spacing: 8px;
  font-family: "Ubuntu", sans-serif;
  transition: border-color 0.2s ease;
}
.modal-body .otp-input-container .otp-input:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.modal-body .otp-input-container .otp-input::placeholder {
  letter-spacing: normal;
  color: #9ca3af;
}

.modal-actions {
  display: flex;
  justify-content: center;
  gap: 12px;
}
.modal-actions .cancel-button {
  padding: 10px 20px;
  border: 1px solid var(--primary-red-main);
  background: white;
  color: var(--primary-red-main);
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
}
.modal-actions .cancel-button:hover {
  background: var(--primary-red-main);
  color: white;
}
.modal-actions .cancel-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.modal-actions .verify-button {
  padding: 10px 20px;
  border: none;
  background: var(--secondary-color);
  color: white;
  border-radius: 6px;
  font-size: 14px;
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.modal-actions .verify-button:hover:not(:disabled) {
  background: var(--primary-red-main);
}
.modal-actions .verify-button:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

@media (max-width: 768px) {
  .otp-verification-modal-overlay {
    padding: 16px;
  }
  .otp-verification-modal-content {
    max-width: 100%;
  }
  .modal-header {
    padding: 20px 20px 16px 20px;
  }
  .modal-header .otp-icon-container {
    width: 40px;
    height: 40px;
    margin-right: 12px;
  }
  .modal-header .otp-icon-container .otp-icon {
    width: 20px;
    height: 20px;
  }
  .modal-header .modal-title-section .modal-title {
    font-size: 16px;
  }
  .modal-header .modal-title-section .confirmation-message {
    font-size: 13px;
  }
  .modal-body {
    padding: 12px 20px 20px 20px;
  }
  .modal-body .otp-input-container .otp-input {
    padding: 10px 14px;
    font-size: 16px;
    letter-spacing: 6px;
  }
  .modal-actions {
    flex-direction: column-reverse;
    gap: 8px;
  }
  .modal-actions .cancel-button,
  .modal-actions .verify-button {
    width: 100%;
    padding: 12px 20px;
  }
}
@media (max-width: 480px) {
  .otp-verification-modal-overlay {
    padding: 12px;
  }
  .modal-header {
    padding: 16px 16px 12px 16px;
  }
  .modal-header .otp-icon-container {
    width: 36px;
    height: 36px;
    margin-right: 10px;
  }
  .modal-header .otp-icon-container .otp-icon {
    width: 18px;
    height: 18px;
  }
  .modal-header .modal-title-section .modal-title {
    font-size: 15px;
  }
  .modal-header .modal-title-section .confirmation-message {
    font-size: 12px;
  }
  .modal-body {
    padding: 10px 16px 16px 16px;
  }
  .modal-body .otp-input-container .otp-input {
    padding: 8px 12px;
    font-size: 14px;
    letter-spacing: 4px;
  }
  .modal-actions {
    gap: 8px;
  }
}.account-settings {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 20px;
}
.account-settings .nav_separator {
  height: 1px;
  background: #e2e8f0;
  margin: 12px 0px;
  width: 100%;
}.sso-configuration .sso-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 32px;
  padding-bottom: 24px;
  border-bottom: 1px solid var(--border-base);
}
.sso-configuration .sso-header .sso-toggle-wrapper {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
  user-select: none;
}
.sso-configuration .sso-header .sso-toggle-wrapper .sso-toggle-input {
  display: none;
}
.sso-configuration .sso-header .sso-toggle-wrapper .sso-toggle-slider {
  position: relative;
  width: 44px;
  height: 24px;
  background: var(--gray400, #cacaca);
  border-radius: 24px;
  transition: all 0.3s ease;
}
.sso-configuration .sso-header .sso-toggle-wrapper .sso-toggle-slider::after {
  content: "";
  position: absolute;
  top: 2px;
  left: 2px;
  width: 20px;
  height: 20px;
  background: var(--background-color, white);
  border-radius: 50%;
  transition: all 0.3s ease;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.2);
}
.sso-configuration .sso-header .sso-toggle-wrapper .sso-toggle-input:checked + .sso-toggle-slider {
  background: var(--primary-color, #d31f1f);
}
.sso-configuration .sso-header .sso-toggle-wrapper .sso-toggle-input:checked + .sso-toggle-slider::after {
  left: calc(100% - 22px);
}
.sso-configuration .sso-header .sso-toggle-wrapper .sso-toggle-label {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  color: var(--accent-gray-medium);
  font-family: "Ubuntu", sans-serif;
}
.sso-configuration .sso-header .sso-toggle-loading {
  display: flex;
  align-items: center;
  gap: 8px;
}
.sso-configuration .sso-header .sso-toggle-loading span {
  font-size: var(--font-size-small);
  color: var(--accent-gray-medium);
  font-family: "Ubuntu", sans-serif;
}
.sso-configuration .sso-header .sso-mini-spinner {
  width: 18px;
  height: 18px;
  border: 2px solid var(--gray300, #e1e1e1);
  border-top-color: var(--primary-color, #d31f1f);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
.sso-configuration .sso-info-message {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 18px;
  background: rgba(17, 161, 253, 0.08);
  border-left: 3px solid var(--info-blue-medium, #118ab2);
  border-radius: 0 8px 8px 0;
  margin-bottom: 24px;
}
.sso-configuration .sso-info-message svg {
  flex-shrink: 0;
  margin-top: 2px;
  color: var(--info-blue-medium, #118ab2);
}
.sso-configuration .sso-info-message span {
  font-size: var(--font-size-small);
  color: var(--accent-gray-dark, #444);
  font-family: "Ubuntu", sans-serif;
  line-height: 1.5;
}
.sso-configuration .sso-loading {
  text-align: center;
  padding: 40px 20px;
  color: var(--accent-gray-medium);
  font-size: var(--font-size-default);
  font-family: "Ubuntu", sans-serif;
}
.sso-configuration .sso-loading-container {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  gap: 16px;
}
.sso-configuration .sso-loading-container .sso-loading-spinner {
  width: 40px;
  height: 40px;
  border: 3px solid var(--border-base, #e2e2e2);
  border-top-color: var(--primary-color, #d31f1f);
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}
.sso-configuration .sso-loading-container .sso-loading-text {
  color: var(--accent-gray-medium);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
}
.sso-configuration .sso-admin-settings {
  animation: fadeIn 0.3s ease;
}
.sso-configuration .sso-admin-settings .sso-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.sso-configuration .sso-admin-settings .sso-section-title {
  font-size: var(--h3-font-size, 20px);
  font-weight: var(--font-weight600);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0;
  text-align: start;
}
.sso-configuration .sso-admin-settings .sso-edit-btn {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 16px;
  background: transparent;
  border: 1px solid var(--border-base);
  border-radius: 6px;
  color: var(--accent-gray-medium);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.2s ease;
}
.sso-configuration .sso-admin-settings .sso-edit-btn:hover {
  background: var(--accent-2, #f0f0f0);
  color: var(--primary-color);
  border-color: var(--primary-color);
}
.sso-configuration .sso-admin-settings .sso-edit-btn.small {
  padding: 6px 10px;
  font-size: var(--font-size-xsmall);
}
.sso-configuration .sso-admin-settings .sso-edit-btn.small svg {
  width: 14px;
  height: 14px;
}
.sso-configuration .sso-admin-settings .sso-edit-btn svg {
  width: 16px;
  height: 16px;
}
.sso-configuration .sso-form-group {
  margin-bottom: 20px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.sso-configuration .sso-form-group.full-width {
  width: 100%;
}
.sso-configuration .sso-form-group .sso-label {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
}
.sso-configuration .sso-form-group .sso-label .required {
  color: var(--primary-color, #d31f1f);
  font-weight: var(--font-weight700);
}
.sso-configuration .sso-form-group .sso-label .readonly-badge {
  font-size: var(--font-size-xsmall);
  color: var(--accent-gray-medium);
  font-weight: var(--font-weight400);
  background: var(--accent-2, #f0f0f0);
  padding: 2px 8px;
  border-radius: 4px;
  margin-left: 4px;
}
.sso-configuration .sso-form-group .sso-select {
  width: 100%;
  max-width: 280px;
  padding: 12px 36px 12px 14px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sso-configuration .sso-form-group .sso-select:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(211, 31, 31, 0.1);
}
.sso-configuration .sso-form-group .sso-select:disabled {
  background: var(--accent-2, #f0f0f0);
  cursor: not-allowed;
  color: var(--accent-gray-medium);
}
.sso-configuration .sso-form-group .sso-select.error {
  border-color: var(--primary-color);
  background: rgba(211, 31, 31, 0.05);
}
.sso-configuration .sso-form-group .sso-input {
  width: 100%;
  padding: 12px 14px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.sso-configuration .sso-form-group .sso-input::placeholder {
  color: var(--accent-gray-medium);
}
.sso-configuration .sso-form-group .sso-input:focus {
  outline: none;
  border-color: var(--primary-color);
  box-shadow: 0 0 0 2px rgba(211, 31, 31, 0.1);
}
.sso-configuration .sso-form-group .sso-input:disabled {
  background: var(--accent-2, #f0f0f0);
  cursor: not-allowed;
  color: var(--accent-gray-medium);
}
.sso-configuration .sso-form-group .sso-input.readonly {
  background: var(--accent-2, #f0f0f0);
  color: var(--accent-gray-dark);
  cursor: default;
}
.sso-configuration .sso-form-group .sso-input.error {
  border-color: var(--primary-color);
  background: rgba(211, 31, 31, 0.05);
}
.sso-configuration .sso-form-group .sso-error-message {
  font-size: var(--font-size-xsmall);
  color: var(--primary-color);
  font-family: "Ubuntu", sans-serif;
  margin-top: 4px;
  display: flex;
  align-items: center;
  gap: 4px;
}
.sso-configuration .sso-form-group .sso-input-with-action {
  display: flex;
  align-items: stretch;
  gap: 8px;
}
.sso-configuration .sso-form-group .sso-input-with-action .sso-input {
  flex: 1;
}
.sso-configuration .sso-form-group .sso-input-with-action .sso-copy-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 12px 14px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-color);
  color: var(--accent-gray-medium);
  cursor: pointer;
  transition: all 0.2s ease;
}
.sso-configuration .sso-form-group .sso-input-with-action .sso-copy-btn:hover {
  background: var(--accent-2);
  color: var(--secondary-color);
  border-color: var(--primary-color);
}
.sso-configuration .sso-form-group .sso-input-with-action .sso-copy-btn:active {
  transform: scale(0.95);
}
.sso-configuration .sso-form-group .sso-field-note {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin-top: 10px;
  padding: 10px 12px;
  background: rgba(17, 161, 253, 0.08);
  border-left: 3px solid var(--info-blue-medium, #118ab2);
  border-radius: 0 6px 6px 0;
}
.sso-configuration .sso-form-group .sso-field-note svg {
  flex-shrink: 0;
  margin-top: 1px;
  color: var(--info-blue-medium, #118ab2);
}
.sso-configuration .sso-form-group .sso-field-note span {
  font-size: var(--font-size-xsmall);
  color: var(--accent-gray-dark, #444);
  font-family: "Ubuntu", sans-serif;
  line-height: 1.4;
}
.sso-configuration .sso-form-group .sso-input-with-icon {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
}
.sso-configuration .sso-form-group .sso-input-with-icon .sso-input {
  flex: 1;
  padding-right: 44px;
}
.sso-configuration .sso-form-group .sso-input-with-icon .sso-password-toggle {
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 6px;
  background: transparent;
  border: none;
  color: var(--accent-gray-medium);
  cursor: pointer;
  transition: all 0.2s ease;
  border-radius: 4px;
}
.sso-configuration .sso-form-group .sso-input-with-icon .sso-password-toggle:hover {
  color: var(--secondary-color);
  background: var(--accent-2, #f0f0f0);
}
.sso-configuration .sso-form-group .sso-input-with-icon .sso-password-toggle:active {
  transform: translateY(-50%) scale(0.95);
}
.sso-configuration .sso-form-group .sso-input-with-icon .sso-password-toggle svg {
  width: 18px;
  height: 18px;
}
.sso-configuration .sso-config-section {
  margin-top: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--border-base);
}
.sso-configuration .sso-config-section .sso-config-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 20px;
}
.sso-configuration .sso-config-section .sso-config-title {
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight600);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0;
  text-align: start;
}
.sso-configuration .sso-form-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 24px;
}
@media (max-width: 768px) {
  .sso-configuration .sso-form-row {
    grid-template-columns: 1fr;
    gap: 0;
  }
}
.sso-configuration .sso-actions {
  margin-top: 32px;
  display: flex;
  justify-content: flex-end;
  gap: 16px;
}
.sso-configuration .sso-actions .sso-cancel-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 40px;
  background: transparent;
  color: var(--accent-gray-dark, #444);
  border: 1px solid var(--gray400, #cacaca);
  border-radius: 8px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 120px;
}
.sso-configuration .sso-actions .sso-cancel-btn:hover:not(:disabled) {
  background: var(--gray100, #f5f5f5);
  border-color: var(--gray500, #b3b3b3);
}
.sso-configuration .sso-actions .sso-cancel-btn:active:not(:disabled) {
  transform: scale(0.98);
}
.sso-configuration .sso-actions .sso-cancel-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.sso-configuration .sso-actions .sso-save-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 12px 60px;
  background: var(--accent-gray-medium, #6d8196);
  color: var(--background-color, white);
  border: none;
  border-radius: 8px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight600);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  min-width: 160px;
}
.sso-configuration .sso-actions .sso-save-btn:hover:not(:disabled) {
  background: var(--gray700, #335c81);
}
.sso-configuration .sso-actions .sso-save-btn:active:not(:disabled) {
  transform: scale(0.98);
}
.sso-configuration .sso-actions .sso-save-btn:disabled {
  opacity: 0.7;
  cursor: not-allowed;
}
.sso-configuration .sso-actions .sso-save-btn.loading {
  background: var(--accent-gray-medium);
}
.sso-configuration .sso-actions .sso-save-btn .btn-spinner {
  width: 16px;
  height: 16px;
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-top-color: white;
  border-radius: 50%;
  animation: spin 0.8s linear infinite;
}

@keyframes spin {
  to {
    transform: rotate(360deg);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
@media (max-width: 768px) {
  .sso-configuration .sso-form-group .sso-select {
    max-width: 100%;
  }
}
@media (max-width: 480px) {
  .sso-configuration .sso-enable-section .sso-toggle-wrapper .sso-toggle-label {
    font-size: var(--font-size-small);
  }
  .sso-configuration .sso-actions .sso-save-btn {
    width: 100%;
    padding: 12px 24px;
  }
}.activity-log .activity-log-filters {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  margin-bottom: 20px;
  flex-wrap: wrap;
}
.activity-log .activity-log-filters .filter-group {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
}
.activity-log .activity-log-filters .filter-select {
  padding: 10px 32px 10px 14px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23666' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  min-width: 100px;
}
.activity-log .activity-log-filters .filter-select:focus {
  outline: none;
  border-color: var(--primary-color);
}
.activity-log .activity-log-filters .date-range-picker {
  position: relative;
}
.activity-log .activity-log-filters .date-range-picker .date-range-display {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-color);
  cursor: pointer;
  transition: border-color 0.2s ease;
}
.activity-log .activity-log-filters .date-range-picker .date-range-display:hover {
  border-color: var(--primary-color);
}
.activity-log .activity-log-filters .date-range-picker .date-range-display .date-text {
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
}
.activity-log .activity-log-filters .date-range-picker .date-range-display .date-text.placeholder {
  color: var(--accent-gray-medium);
}
.activity-log .activity-log-filters .date-range-picker .date-range-display .date-separator {
  color: var(--accent-gray-medium);
  font-size: var(--font-size-small);
}
.activity-log .activity-log-filters .date-range-picker .date-range-display .calendar-icon {
  color: var(--accent-gray-medium);
  margin-left: 4px;
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown {
  position: absolute;
  top: calc(100% + 8px);
  left: 0;
  background: var(--background-color);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  padding: 16px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
  min-width: 220px;
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .date-picker-row {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 12px;
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .date-picker-row label {
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  color: var(--secondary-color);
  min-width: 40px;
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .date-picker-row input[type=date] {
  flex: 1;
  padding: 8px 12px;
  border: 1px solid var(--border-base);
  border-radius: 6px;
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  color: var(--secondary-color);
  background: var(--background-color);
  cursor: pointer;
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .date-picker-row input[type=date]:focus {
  outline: none;
  border-color: var(--primary-color);
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .apply-date-btn {
  width: 100%;
  padding: 10px 20px;
  background: var(--bg-btn-default);
  color: var(--background-color);
  border: 2px solid var(--border-btn-default);
  border-radius: 6px;
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.2s ease;
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .apply-date-btn:hover {
  background: var(--bg-btn-hover);
  border-color: var(--primary-color);
  color: var(--background-color);
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .apply-date-btn:active {
  background: var(--background-color);
  border-color: var(--primary-color);
  color: var(--primary-color);
}
.activity-log .activity-log-filters .date-range-picker .date-picker-dropdown .apply-date-btn:disabled {
  background: var(--bg-btn-inactive);
  border-color: var(--border-btn-inactive);
  color: var(--accent-gray-medium);
  cursor: not-allowed;
}
.activity-log .activity-log-filters .search-group {
  display: flex;
  align-items: center;
  gap: 12px;
}
.activity-log .activity-log-filters .search-group .search-input {
  padding: 10px 14px;
  border: 1px solid var(--border-base);
  border-radius: 8px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  min-width: 200px;
}
.activity-log .activity-log-filters .search-group .search-input::placeholder {
  color: var(--accent-gray-medium);
}
.activity-log .activity-log-filters .search-group .search-input:focus {
  outline: none;
  border-color: var(--primary-color);
}
.activity-log .activity-log-filters .search-group .export-menu-container {
  position: relative;
}
.activity-log .activity-log-filters .search-group .export-menu-container .more-options-btn {
  padding: 8px;
  border: none;
  background: transparent;
  color: var(--accent-gray-medium);
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: all 0.2s ease;
}
.activity-log .activity-log-filters .search-group .export-menu-container .more-options-btn:hover {
  background: var(--border-base);
  color: var(--secondary-color);
}
.activity-log .activity-log-filters .search-group .export-menu-container .export-dropdown-menu {
  position: absolute;
  top: calc(100% + 4px);
  right: 0;
  background: var(--background-color);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  z-index: 100;
  min-width: 160px;
  padding: 8px 0;
}
.activity-log .activity-log-filters .search-group .export-menu-container .export-dropdown-menu .export-menu-item {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
  padding: 10px 16px;
  background: transparent;
  border: none;
  color: var(--secondary-color);
  font-size: var(--font-size-small);
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
}
.activity-log .activity-log-filters .search-group .export-menu-container .export-dropdown-menu .export-menu-item svg {
  width: 16px;
  height: 16px;
  color: var(--accent-gray-medium);
}
.activity-log .activity-log-filters .search-group .export-menu-container .export-dropdown-menu .export-menu-item:hover:not(:disabled) {
  background: var(--accent-2);
  color: var(--primary-color);
}
.activity-log .activity-log-filters .search-group .export-menu-container .export-dropdown-menu .export-menu-item:hover:not(:disabled) svg {
  color: var(--primary-color);
}
.activity-log .activity-log-filters .search-group .export-menu-container .export-dropdown-menu .export-menu-item:disabled {
  color: var(--accent-gray-medium);
  cursor: not-allowed;
  opacity: 0.6;
}
.activity-log .activity-log-filters .search-group .more-options-btn-standalone {
  padding: 8px;
  border: none;
  background: transparent;
  color: var(--accent-gray-medium);
  cursor: pointer;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.activity-log .activity-log-filters .search-group .more-options-btn-standalone:hover {
  background: var(--border-base);
}
.activity-log .activity-user-label {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin-bottom: 20px;
  margin-top: 8px;
  text-align: start;
}
.activity-log .activity-loading {
  text-align: center;
  padding: 40px 20px;
  color: var(--accent-gray-medium);
  font-size: var(--font-size-default);
  font-family: "Ubuntu", sans-serif;
}
.activity-log .activity-empty {
  text-align: center;
  padding: 40px 20px;
  color: var(--accent-gray-medium);
  font-size: var(--font-size-default);
  font-family: "Ubuntu", sans-serif;
  background: var(--body-bg);
  border-radius: 8px;
  border: 1px dashed var(--border-base);
}
.activity-log .activity-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
}
.activity-log .activity-date-group {
  position: relative;
  padding: 0;
  padding-left: 105px;
}
.activity-log .activity-date-group::before {
  content: "";
  position: absolute;
  left: 105px;
  top: 36px;
  bottom: -12px;
  width: 0;
  border-left: 2px dotted var(--gray400, #cacaca);
}
.activity-log .activity-date-group:last-child::before {
  display: none;
}
.activity-log .activity-date-group .date-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 12px 0;
  margin-left: -105px;
}
.activity-log .activity-date-group .date-header .date-text {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight400);
  color: var(--gray650, #6a89a7);
  font-family: "Ubuntu", sans-serif;
  min-width: 80px;
}
.activity-log .activity-date-group .date-header .expand-btn {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  border: none;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
}
.activity-log .activity-date-group .date-header .expand-btn.expanded {
  background: var(--gray700, #335c81);
  color: var(--background-color, white);
}
.activity-log .activity-date-group .date-header .expand-btn:not(.expanded) {
  background: var(--accent-gray-medium, #6d8196);
  color: var(--background-color, white);
}
.activity-log .activity-date-group .date-header .expand-btn:hover {
  transform: scale(1.05);
}
.activity-log .activity-date-group .date-header .expand-btn svg {
  width: 12px;
  height: 12px;
}
.activity-log .activity-date-group .date-header .activity-count {
  font-size: var(--font-size-small);
  color: var(--accent-gray-medium);
  font-family: "Ubuntu", sans-serif;
}
.activity-log .activities-list {
  margin-left: -8px;
  padding-left: 55px;
  position: relative;
  margin-top: 0;
  margin-bottom: 0;
  padding-bottom: 8px;
}
.activity-log .activity-item {
  display: flex;
  align-items: flex-start;
  gap: 16px;
  padding: 0px 0 20px 0;
  position: relative;
  min-height: 50px;
}
.activity-log .activity-item .activity-connector {
  position: absolute;
  left: -47px;
  top: 4px;
  width: 47px;
  height: 20px;
  display: flex;
  align-items: center;
}
.activity-log .activity-item .activity-connector .connector-horizontal {
  position: absolute;
  left: 8px;
  top: 50%;
  width: 25px;
  height: 0;
  border-top: 2px dotted var(--gray400, #cacaca);
}
.activity-log .activity-item .activity-connector .connector-dot {
  position: absolute;
  left: 31px;
  top: 50%;
  transform: translateY(-50%);
  width: 12px;
  height: 12px;
  border-radius: 50%;
  background: var(--gray400, #cacaca);
  border: none;
}
.activity-log .activity-item .activity-connector .connector-vertical {
  display: none;
}
.activity-log .activity-item.last-item::before {
  content: "";
  position: absolute;
  left: -40px;
  top: 16px;
  bottom: -30px;
  width: 4px;
  background: var(--background-color, #fff);
  z-index: 2;
}
.activity-log .activity-item .activity-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.activity-log .activity-item .activity-info {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  align-items: baseline;
}
.activity-log .activity-item .activity-info .activity-type {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight600);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
}
.activity-log .activity-item .activity-info .activity-description {
  font-size: var(--font-size-small);
  color: var(--accent-gray-medium);
  font-family: "Ubuntu", sans-serif;
  line-height: 1.5;
}
.activity-log .activity-item .activity-meta {
  display: flex;
  align-items: center;
  gap: 12px;
}
.activity-log .activity-item .activity-meta .activity-time {
  font-size: var(--font-size-xsmall);
  color: var(--accent-gray-medium);
  font-family: "Ubuntu", sans-serif;
}
.activity-log .activity-item .activity-meta .activity-status {
  padding: 3px 10px;
  border-radius: 4px;
  font-size: var(--font-size-xsmall);
  font-weight: var(--font-weight500);
  font-family: "Ubuntu", sans-serif;
}
.activity-log .activity-item .activity-meta .activity-status.status-success {
  background: transparent;
  color: var(--success-green-medium, #24b47e);
  border: 1px solid var(--success-green-lightest, #b9fbc0);
}
.activity-log .activity-item .activity-meta .activity-status.status-failed {
  background: transparent;
  color: var(--primary-red-main, #d31f1f);
  border: 1px solid var(--primary-red-light, #ff6b6b);
}
.activity-log .activity-item .activity-meta .activity-status.status-pending {
  background: transparent;
  color: var(--warning-yellow-medium, #f1c21b);
  border: 1px solid var(--warning-yellow-light, #ffd166);
}

@media (max-width: 768px) {
  .activity-log .activity-log-filters {
    flex-direction: column;
    align-items: stretch;
  }
  .activity-log .activity-log-filters .filter-group {
    width: 100%;
    justify-content: flex-start;
  }
  .activity-log .activity-log-filters .search-group {
    width: 100%;
  }
  .activity-log .activity-log-filters .search-group .search-input {
    flex: 1;
    min-width: unset;
  }
  .activity-log .activity-log-filters .date-range-picker {
    flex-wrap: wrap;
  }
  .activity-log .activities-list {
    margin-left: 50px;
    padding-left: 16px;
  }
  .activity-log .activity-item .activity-connector {
    left: -20px;
  }
}
@media (max-width: 480px) {
  .activity-log .activity-log-filters .filter-select {
    width: 100%;
    min-width: unset;
  }
  .activity-log .activity-log-filters .date-range-picker {
    width: 100%;
    justify-content: space-between;
  }
  .activity-log .activity-log-filters .date-range-picker .date-input {
    flex: 1;
  }
  .activity-log .activity-date-group .date-header {
    flex-wrap: wrap;
  }
  .activity-log .activity-date-group .date-header .date-text {
    min-width: 80px;
  }
}.settings-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  background: var(--body-bg);
  width: 100%;
  padding: var(--padding-container-default);
}
.settings-page .settings-header {
  padding: 10px 5px;
  text-align: start;
}
.settings-page .settings-header .settings-title {
  font-size: var(--font-size-xlarge-2);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0;
  line-height: 1.2;
}
.settings-page .settings-content-wrapper {
  display: flex;
  flex: 1 1;
  gap: var(--padding-container-default);
  padding: 20px 0;
}
.settings-page .settings-content-wrapper .settings-main-content {
  flex: 1;
  padding: 20px;
  background: var(--background-color);
  border-right: 1px solid var(--border-base);
  border-radius: 12px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
  width: 80%;
}
.settings-page .settings-content-wrapper .settings-main-content .settings-content-title {
  font-size: var(--h2-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 12px 0;
  line-height: 1.3;
  text-align: start;
}

@media (max-width: 480px) {
  .settings-page .settings-header {
    padding: 20px 24px;
  }
  .settings-page .settings-header .settings-title {
    font-size: var(--h3-font-size);
  }
  .settings-page .settings-content-wrapper .settings-main-content {
    padding: 24px 20px;
  }
}
@media (max-width: 1024px) {
  .settings-content-wrapper {
    flex-direction: column;
  }
  .settings-content-wrapper .settings-sidebar {
    min-width: 100%;
  }
  .settings-content-wrapper .settings-main-content {
    min-width: 100%;
  }
}.subscription-page {
  height: 100%;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
}
.subscription-page .payment-container {
  width: 65%;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 20px;
  max-width: 720px;
}
.subscription-page .payment-container .button_container {
  display: flex;
  align-items: center;
  gap: 20px;
  width: 420px;
  margin-top: 20px;
}
.subscription-page .payment-container .payment-status {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
}
.subscription-page .payment-container .payment-status .status-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.subscription-page .payment-container .payment-status-container {
  border: 1px solid var(--border-base);
  border-radius: 10px;
  box-shadow: 0px 2px 23px 0px rgba(0, 0, 0, 0.1019607843);
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
  width: 100%;
}
.subscription-page .payment-container .payment-status-container .payment-status-card.success {
  border: 1px solid var(--success-green-medium);
  background-color: var(--bg-alert-info);
}
.subscription-page .payment-container .payment-status-container .payment-status-card.cancelled {
  border: 1px solid var(--primary-red-main);
  background-color: var(--bg-alert-error);
}
.subscription-page .payment-container .payment-status-container .payment-status-card {
  border: 1px solid var(--success-green-medium);
  background-color: var(--bg-alert-info);
  border-radius: 7px;
  padding: 20px;
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  text-align: left;
}
.subscription-page .payment-container .payment-status-container .payment-status-card .payment-status-left {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 20px;
}
.subscription-page .payment-container .payment-status-container .payment-status-card .payment-status-left h2 {
  font-weight: 700;
  font-style: Bold;
  font-size: 18px;
  line-height: 100%;
}
.subscription-page .payment-container .payment-status-container .payment-status-card .payment-status-left p {
  font-weight: 400;
  font-style: Regular;
  font-size: 14px;
  line-height: 24px;
  color: var(--accent-gray-darkest);
}
.subscription-page .payment-container .payment-status-container .payment_details_container {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 20px;
  width: 100%;
}
.subscription-page .payment-container .payment-status-container .payment_details_container .payment_detail_item {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}
.subscription-page .payment-container .payment-status-container .payment_details_container .payment_detail_item h3 {
  font-weight: 400;
  font-size: 14px;
  line-height: 24px;
  color: #aaa9a9;
}
.subscription-page .payment-container .payment-status-container .payment_details_container .payment_detail_item p {
  font-weight: 500;
  font-size: 16px;
  line-height: 24px;
  color: #231f20;
  text-align: left;
}
.subscription-page .error {
  border: 1px solid var(--primary-red-main);
  background-color: var(--bg-alert-error);
  border-radius: 7px;
  padding: 20px;
  width: 50%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 20px;
}.metric-card {
  background: var(--light);
  border-radius: 8px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  padding: 20px;
  transition: all 0.3s ease;
}
.metric-card:hover {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}
.metric-card .card-header {
  margin-bottom: 15px;
}
.metric-card .card-header .card-title {
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  color: var(--gray600);
  margin: 0;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.metric-card .card-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin-bottom: 15px;
}
.metric-card .card-content .metric-values {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.metric-card .card-content .metric-values .current-value {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--gray800);
}
.metric-card .card-content .metric-values .previous-value {
  font-size: var(--font-size-normal);
  color: var(--gray500);
}
.metric-card .card-content .percentage-change {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 4px 8px;
  border-radius: 4px;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight600);
}
.metric-card .card-content .percentage-change.positive {
  background: rgba(7, 193, 128, 0.1);
  color: var(--secondary-green500);
}
.metric-card .card-content .percentage-change.positive .arrow-icon {
  color: var(--secondary-green500);
}
.metric-card .card-content .percentage-change.negative {
  background: rgba(213, 31, 48, 0.1);
  color: var(--secondary-red500);
}
.metric-card .card-content .percentage-change.negative .arrow-icon {
  color: var(--secondary-red500);
}
.metric-card .card-content .percentage-change .arrow-icon {
  width: 16px;
  height: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.metric-card .card-content .percentage-change .percentage-value {
  font-weight: var(--font-weight600);
}
.metric-card .card-chart .mini-chart {
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.metric-card .card-chart .mini-chart svg {
  width: 100%;
  height: 100%;
}/* Loader Component Styles */
/* Overlay Loader */
.loader-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(68, 68, 68, 0.5215686275);
  backdrop-filter: blur(4px);
  z-index: 9999;
  animation: fadeIn 0.3s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-container {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 10000;
  background: white;
  border-radius: 12px;
  padding: 40px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.3);
  min-width: 300px;
  text-align: center;
  animation: slideIn 0.3s ease-out;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
}

.loader-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 14px;
  width: 100%;
  text-align: center;
}

/* Spinner Styles */
.loader-spinner {
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  width: 100%;
  height: 100%;
  min-height: 60px;
}

.spinner-ring {
  border: 3px solid #f3f3f3;
  border-top: 3px solid var(--secondary-color, #3b82f6);
  border-radius: 50%;
  animation: spin 1s linear infinite;
  display: block;
  margin: 0 auto;
}

/* Check Mark Styles */
.check-mark {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #10b981;
  font-weight: bold;
  font-size: 24px;
  animation: checkmarkAppear 0.5s ease-in-out;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  text-shadow: 0 0 10px rgba(16, 185, 129, 0.3);
  filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.2));
  margin: 0 auto;
}

/* Check Mark Sizes */
.loader-small .check-mark {
  font-size: 16px;
}

.loader-medium .check-mark {
  font-size: 24px;
}

.loader-large .check-mark {
  font-size: 32px;
}

/* Spinner Sizes */
.loader-small .spinner-ring {
  width: 20px;
  height: 20px;
  border-width: 2px;
  margin: 0 auto;
}

.loader-medium .spinner-ring {
  width: 40px;
  height: 40px;
  border-width: 3px;
  margin: 0 auto;
}

.loader-large .spinner-ring {
  width: 60px;
  height: 60px;
  border-width: 4px;
  margin: 0 auto;
}

/* Loader Messages */
.loader-message {
  font-size: var(--h4-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-black-darkest);
  margin: 0;
  text-align: center;
  width: 100%;
}

.loader-sub-message {
  font-size: var(--font-size-small);
  color: var(--accent-gray-darkest);
  margin: 0;
  text-align: center;
  width: 100%;
}

/* Loader Steps */
.loader-steps {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
  margin-top: 16px;
}

.loader-step {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 0;
  font-size: 15px;
  transition: all 0.3s ease;
}
.loader-step .step-icon {
  font-size: 16px;
  font-weight: bold;
  min-width: 24px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.loader-step .step-message {
  flex: 1;
  text-align: left;
  font-weight: 400;
  color: #6b7280;
}

.loader-step-completed .step-icon {
  color: #10b981;
  border: 2px solid #10b981;
  border-radius: 50%;
  font-size: 12px;
  font-weight: bold;
}
.loader-step-completed .step-message {
  color: #10b981;
  font-size: 12px;
  font-weight: 500;
}

.loader-step-in-progress .step-icon {
  color: #f59e0b;
}
.loader-step-in-progress .step-message {
  color: #111827;
  font-weight: 500;
}

/* Inline Loader */
.loader-inline {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 4px 8px;
  background: #f9fafb;
  border-radius: 6px;
  border: 1px solid #e5e7eb;
  text-align: center;
}
.loader-inline .loader-spinner .spinner-ring {
  width: 16px;
  height: 16px;
  border-width: 2px;
}
.loader-inline .loader-text {
  font-size: 14px;
  color: var(--gray600, #6b7280);
  font-weight: 500;
  text-align: center;
}

/* Button Loader */
.loader-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 8px 16px;
  background: var(--secondary-color, #3b82f6);
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: not-allowed;
  opacity: 0.8;
  text-align: center;
}
.loader-button .loader-spinner .spinner-ring {
  width: 16px;
  height: 16px;
  border-width: 2px;
  border-top-color: white;
}

/* Spinner Only */
.loader-spinner.loader-small .spinner-ring {
  width: 16px;
  height: 16px;
  border-width: 2px;
}
.loader-spinner.loader-medium .spinner-ring {
  width: 24px;
  height: 24px;
  border-width: 2px;
}
.loader-spinner.loader-large .spinner-ring {
  width: 32px;
  height: 32px;
  border-width: 3px;
}

/* Animations */
@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}
@keyframes checkmarkAppear {
  0% {
    opacity: 0;
    transform: scale(0.3) rotate(-45deg);
  }
  50% {
    transform: scale(1.1) rotate(0deg);
  }
  75% {
    transform: scale(0.95) rotate(0deg);
  }
  100% {
    opacity: 1;
    transform: scale(1) rotate(0deg);
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes slideIn {
  from {
    opacity: 0;
    transform: translate(-50%, -60%);
  }
  to {
    opacity: 1;
    transform: translate(-50%, -50%);
  }
}
/* Responsive Design */
@media (max-width: 768px) {
  .loader-container {
    min-width: 280px;
    padding: 30px 20px;
    margin: 20px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .loader-message {
    font-size: 16px;
  }
  .loader-sub-message {
    font-size: 13px;
  }
}
@media (max-width: 480px) {
  .loader-container {
    min-width: 250px;
    padding: 25px 15px;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  .loader-message {
    font-size: 15px;
  }
  .loader-sub-message {
    font-size: 12px;
  }
}/* Explore Data Section Styles */
.explore_data_section_container {
  background: var(--light);
  border: 1px solid var(--border-base);
  border-radius: 8px;
  padding: 20px 20px;
  margin: 20px 0;
  width: 100%;
  max-width: 100%;
  position: relative;
}

.section_header_title {
  margin-bottom: 16px;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.section_number {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight700);
  color: var(--secondary-color);
  margin: 0;
  line-height: 1.4;
}

.process_step_info {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
  padding: 8px 12px;
  background: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 6px;
  font-size: 14px;
}
.process_step_info .step_label {
  color: var(--gray600);
  font-weight: 500;
}
.process_step_info .step_number {
  background: #2196f3;
  color: white;
  padding: 4px 8px;
  border-radius: 4px;
  font-weight: 600;
  min-width: 24px;
  text-align: center;
}
.process_step_info .step_status {
  color: var(--gray700);
  font-weight: 500;
  padding: 4px 8px;
  background: #e3f2fd;
  border-radius: 4px;
}
.process_step_info .debug_info {
  color: var(--gray500);
  font-size: 12px;
  font-family: monospace;
  padding: 4px 8px;
  background: #f1f5f9;
  border-radius: 4px;
  max-width: 300px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.process_step_info .changes_indicator {
  color: #d97706;
  font-weight: 600;
  padding: 4px 8px;
  background: #fef3c7;
  border-radius: 4px;
  border: 1px solid #f59e0b;
}

/* Analysis Placeholder */
.analysis_placeholder {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 300px;
}
.analysis_placeholder p {
  font-size: 16px;
  color: #757575;
  font-family: "Ubuntu", sans-serif;
  text-align: center;
}

/* Sales Growth Analysis Section */
.sales_growth_analysis_section {
  margin-top: 32px;
}
.sales_growth_analysis_section .section_card {
  background-color: #ffffff;
  border-radius: 10px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  min-height: 400px;
  overflow: hidden;
}
.sales_growth_analysis_section .section_card_header {
  padding: 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #f0f0f0;
}
@media (max-width: 768px) {
  .sales_growth_analysis_section .section_card_header {
    flex-direction: column;
    align-items: flex-start;
    gap: 15px;
  }
}
.sales_growth_analysis_section .section_card_title {
  font-size: 20px;
  font-weight: 700;
  color: #213345;
  margin: 0;
}
@media (max-width: 768px) {
  .sales_growth_analysis_section .section_card_title {
    font-size: 18px;
  }
}
.sales_growth_analysis_section .section_card_controls {
  display: flex;
  align-items: center;
  gap: 16px;
}
@media (max-width: 768px) {
  .sales_growth_analysis_section .section_card_controls {
    flex-wrap: wrap;
    gap: 10px;
  }
}
.sales_growth_analysis_section .discover_button {
  display: flex;
  align-items: center;
  gap: 8px;
  background: linear-gradient(135deg, #11a1fd 0%, #0085d1 100%);
  color: white;
  border: none;
  border-radius: 6px;
  padding: 8px 16px;
  font-size: 14px;
  font-weight: 500;
  font-family: "Ubuntu", sans-serif;
  cursor: pointer;
  transition: all 0.2s ease;
  min-height: 40px;
}
.sales_growth_analysis_section .discover_button:hover {
  background: linear-gradient(135deg, #0085d1 0%, #006ba6 100%);
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(17, 161, 253, 0.3);
}
.sales_growth_analysis_section .discover_icon {
  font-size: 16px;
}
.sales_growth_analysis_section .timeframe_dropdown {
  min-width: 120px;
}
.sales_growth_analysis_section .section_card_body {
  padding: 0;
}

.success_message {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--bg-alert-success);
  border: 1px solid var(--border-alert-success);
  border-radius: 8px;
  padding: 16px 20px;
  margin-bottom: 32px;
  color: var(--accent-gray-darkest);
  position: absolute;
  top: 0%;
  left: 50%;
  width: 95%;
  transform: translate(-50%, -50%);
  z-index: 999;
}

.success_content {
  display: flex;
  align-items: center;
  gap: 12px;
}

.success_icon {
  color: #059669;
  font-size: 18px;
}

.success_text {
  color: var(--accent-gray-darkest);
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
}

.close_message {
  background: none;
  border: none;
  font-size: 16px;
  color: #059669;
  cursor: pointer;
  padding: 4px;
  width: 24px;
  height: 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  border-radius: 4px;
}
.close_message:hover {
  background: rgba(255, 255, 255, 0.1);
}

/* Analysis Tabs */
.analysis_tabs {
  display: flex;
  gap: 24px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e5e7eb;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
  background: #ffffff;
  border-radius: 0px;
  padding: 16px 24px 0;
}
.analysis_tabs::-webkit-scrollbar {
  display: none;
}

.tab_button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px 16px;
  background: none;
  border: none;
  border-bottom: 3px solid transparent;
  border-radius: 0;
  font-size: var(--font-size-small);
  color: var(--info-blue-dark);
  cursor: pointer;
  transition: all 0.3s ease;
  white-space: nowrap;
  font-weight: var(--font-weight400);
  flex-shrink: 0;
  position: relative;
}
.tab_button .tab_icon {
  font-size: 14px;
  color: var(--accent-gray-medium);
  transition: color 0.3s ease;
}
.tab_button:hover {
  color: var(--secondary-black-darkest);
}
.tab_button:hover .tab_icon {
  color: var(--secondary-black-darkest);
}
.tab_button.active {
  color: var(--secondary-black-darkest);
  border-bottom-color: var(--secondary-black-darkest);
  border-bottom-width: 3px;
}
.tab_button.active .tab_icon {
  color: var(--secondary-black-darkest);
}

.tab_label {
  font-weight: 500;
}

/* Chart Section */
.chart_section {
  margin-top: 24px;
}

.chart_header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 32px;
  flex-wrap: wrap;
  gap: 16px;
}

.chart_title {
  font-size: var(--h3-font-size);
  font-weight: var(--font-weight600);
  color: var(--gray900);
  margin: 0;
}

.chart_controls {
  display: flex;
  align-items: center;
  gap: 16px;
}

.discover_button {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 20px;
  background: transparent;
  border: 2px solid #3b82f6;
  border-radius: 8px;
  color: #3b82f6;
  font-size: var(--font-size-small);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.2s ease;
}
.discover_button .discover_icon {
  font-size: 16px;
}
.discover_button:hover {
  background: #3b82f6;
  color: white;
  transform: translateY(-1px);
}

.timeframe_select {
  padding: 8px 16px;
  border: 1px solid #d1d5db;
  border-radius: 8px;
  font-size: var(--font-size-small);
  background: var(--light);
  cursor: pointer;
  min-width: 120px;
  color: var(--gray600);
}
.timeframe_select:focus {
  outline: none;
  border-color: var(--primary500);
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.timeframe_select:hover {
  border-color: #9ca3af;
}

/* Chart Container */
.chart_container {
  display: flex;
  align-items: flex-end;
  gap: 20px;
  margin-bottom: 24px;
  min-height: 350px;
  padding: 24px 0;
  width: 100%;
  background: transparent;
  border: none;
}

.chart_y_axis {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 280px;
  font-size: var(--font-size-small);
  color: var(--gray500);
  padding-right: 16px;
  padding-left: 0;
  font-weight: 500;
  min-width: 40px;
}

.chart_content {
  flex: 1;
  height: 280px;
  padding-right: 0;
}

.bars_container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  height: 100%;
  gap: 32px;
  padding: 0 20px;
}

.bar_item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 1;
  height: 100%;
  max-width: 80px;
}

.bar {
  width: 48px;
  background: #3b82f6;
  border-radius: 4px 4px 0 0;
  transition: all 0.3s ease;
  margin-bottom: 16px;
}
.bar:hover {
  background: #2563eb;
  transform: translateY(-2px);
  box-shadow: 0 4px 8px rgba(59, 130, 246, 0.2);
}

.bar_label {
  font-size: var(--font-size-small);
  color: var(--gray700);
  font-weight: 500;
  text-align: center;
}

/* Chart Legend */
.chart_legend {
  display: flex;
  justify-content: center;
  padding-top: 16px;
  border-top: 1px solid var(--gray300);
}

.legend_item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.legend_color {
  width: 12px;
  height: 12px;
  background: var(--primary500);
  border-radius: 2px;
}

.legend_text {
  font-size: var(--font-size-small);
  color: var(--gray600);
  font-weight: var(--font-weight500);
}

/* Navigation Section */
.navigation_section {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
  padding-top: 16px;
  border-top: 1px solid var(--gray300);
}

/* Navigation Section Outside - New positioning for buttons outside container */
.navigation_section_outside {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 24px;
}

.previous_button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
}
.previous_button:hover {
  background: var(--primary-red-main);
}

.confirm_proceed_button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
}
.confirm_proceed_button:hover {
  background: var(--primary-red-main);
}
.confirm_proceed_button.disabled {
  background: var(--gray300);
}

.save_button {
  padding: 12px 24px;
  background: var(--secondary-color);
  color: var(--light);
  border: none;
  border-radius: 6px;
  font-size: var(--font-size-normal);
  font-weight: var(--font-weight500);
  cursor: pointer;
  transition: all 0.3s ease;
  display: flex;
  align-items: center;
  gap: 8px;
}
.save_button:hover:not(:disabled) {
  background: var(--primary-red-main);
}
.save_button:disabled {
  background: var(--gray300);
  color: var(--gray600);
  cursor: not-allowed;
  opacity: 0.6;
}
.save_button .button_icon {
  font-size: 16px;
}

/* Preview Data Analysis Styles */
.preview-data-analysis .preview-content {
  width: 100%;
}
.preview-data-analysis .preview-header {
  margin-bottom: 24px;
}
.preview-data-analysis .preview-header h3 {
  font-size: 20px;
  font-weight: 600;
  color: var(--gray900);
  margin: 0 0 8px 0;
}
.preview-data-analysis .preview-header p {
  font-size: 14px;
  color: var(--gray600);
  margin: 0;
}
.preview-data-analysis .table-wrapper-with-scroll {
  position: relative;
  width: 100%;
  overflow-x: auto;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  background: white;
}
.preview-data-analysis .table-wrapper-with-scroll .summary-table-container {
  min-width: 1400px;
}
.preview-data-analysis .column-mapping-table .field-type-badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  text-transform: capitalize;
}
.preview-data-analysis .column-mapping-table .field-type-badge.dimension {
  background: #e3f2fd;
  color: #1565c0;
}
.preview-data-analysis .column-mapping-table .field-type-badge.metric {
  background: #f3e5f5;
  color: #7b1fa2;
}
.preview-data-analysis .column-mapping-table .required-badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
}
.preview-data-analysis .column-mapping-table .required-badge.yes {
  background: #e8f5e8;
  color: #2e7d32;
}
.preview-data-analysis .column-mapping-table .required-badge.no {
  background: #fff3e0;
  color: #ef6c00;
}
.preview-data-analysis .column-mapping-table .csv-column,
.preview-data-analysis .column-mapping-table .display-name {
  font-weight: 500;
}
.preview-data-analysis .column-mapping-table .data-type {
  font-family: monospace;
  font-size: 13px;
}
.preview-data-analysis .column-mapping-table .db-column {
  font-family: monospace;
  font-size: 13px;
  color: var(--gray600);
}
.preview-data-analysis .column-mapping-table .date-format {
  font-family: monospace;
  font-size: 13px;
  color: var(--gray500);
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table {
  table-layout: fixed;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th,
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table td {
  min-width: 150px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  border-right: 1px solid #e5e7eb;
  padding: 12px 8px;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th:last-child,
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table td:last-child {
  border-right: none;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th:first-child,
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table td:first-child {
  position: sticky;
  left: 0;
  background: #f8fafc;
  z-index: 10;
  box-shadow: 2px 0 4px rgba(0, 0, 0, 0.1);
  min-width: 180px !important;
  font-weight: 600;
}
.preview-data-analysis .column-mapping-table.horizontal-scroll-table .summary-table th:first-child {
  background: #64748b;
  color: white;
  z-index: 11;
}
.preview-data-analysis .column-mapping-table .new-column-badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
}
.preview-data-analysis .column-mapping-table .new-column-badge.yes {
  background: #e0f2fe;
  color: #0277bd;
}
.preview-data-analysis .column-mapping-table .new-column-badge.no {
  background: #f5f5f5;
  color: #616161;
}
.preview-data-analysis .column-mapping-table .action-buttons {
  display: flex;
  gap: 4px;
  justify-content: center;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn {
  padding: 6px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.view-btn {
  background: #e3f2fd;
  color: #1565c0;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.view-btn:hover {
  background: #bbdefb;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.edit-btn {
  background: #fff3e0;
  color: #ef6c00;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.edit-btn:hover {
  background: #ffe0b2;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.delete-btn {
  background: #ffebee;
  color: #d32f2f;
}
.preview-data-analysis .column-mapping-table .action-buttons .action-btn.delete-btn:hover {
  background: #ffcdd2;
}
.preview-data-analysis .column-mapping-table .csv-column {
  min-width: 180px !important;
}
.preview-data-analysis .column-mapping-table .display-name {
  min-width: 160px !important;
}
.preview-data-analysis .column-mapping-table .data-type {
  min-width: 120px !important;
}
.preview-data-analysis .column-mapping-table .field-type {
  min-width: 130px !important;
}
.preview-data-analysis .column-mapping-table .is-required {
  min-width: 100px !important;
}
.preview-data-analysis .column-mapping-table .db-column {
  min-width: 180px !important;
}
.preview-data-analysis .column-mapping-table .date-format {
  min-width: 140px !important;
}
.preview-data-analysis .column-mapping-table .default-data {
  min-width: 140px !important;
}
.preview-data-analysis .column-mapping-table .is-new-column {
  min-width: 140px !important;
}
.preview-data-analysis .column-mapping-table .type-column {
  min-width: 120px !important;
}
.preview-data-analysis .column-mapping-table .formula-column {
  min-width: 200px !important;
}
.preview-data-analysis .column-mapping-table .additional-column {
  min-width: 200px !important;
}
.preview-data-analysis .column-mapping-table .action-column {
  min-width: 120px !important;
}
.preview-data-analysis .no-data-message {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 200px;
}
.preview-data-analysis .no-data-message p {
  color: var(--gray500);
  font-size: 16px;
  text-align: center;
}
.preview-data-analysis .fixed-column-table-container {
  background: white;
  border: 1px solid #e5e7eb;
  border-radius: 8px;
  overflow: hidden;
}
.preview-data-analysis .fixed-column-table-container .table-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px 20px;
  background: #f8fafc;
  border-bottom: 1px solid #e5e7eb;
}
.preview-data-analysis .fixed-column-table-container .table-header h4 {
  margin: 0;
  font-size: 18px;
  font-weight: 600;
  color: #1f2937;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions {
  display: flex;
  gap: 12px;
  align-items: center;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .search-input {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  width: 200px;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .search-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .add-button {
  padding: 8px 16px;
  background: #3b82f6;
  color: white;
  border: none;
  border-radius: 6px;
  font-size: 14px;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}
.preview-data-analysis .fixed-column-table-container .table-header .header-actions .add-button:hover {
  background: #2563eb;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper {
  display: flex;
  position: relative;
  max-height: 500px;
  overflow: hidden;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column {
  flex-shrink: 0;
  width: 200px;
  background: #64748b;
  border-right: 2px solid #475569;
  z-index: 2;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table {
  width: 100%;
  border-collapse: separate;
  border-spacing: 0;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table thead th {
  background: #64748b;
  color: white;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #475569;
  position: sticky;
  top: 0;
  z-index: 3;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table tbody .fixed-cell {
  padding: 12px 16px;
  background: #f1f5f9;
  border-bottom: 1px solid #e2e8f0;
  font-weight: 500;
  font-size: 14px;
  color: #1e293b;
  word-wrap: break-word;
  max-width: 180px;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table tbody tr:nth-child(even) .fixed-cell {
  background: #e2e8f0;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .fixed-column .fixed-table tbody tr:hover .fixed-cell {
  background: #cbd5e1;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns {
  flex: 1;
  overflow-x: auto;
  overflow-y: auto;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table {
  width: 100%;
  min-width: 1000px;
  border-collapse: separate;
  border-spacing: 0;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table thead th {
  background: #64748b;
  color: white;
  font-weight: 600;
  font-size: 14px;
  text-transform: uppercase;
  padding: 12px 16px;
  text-align: left;
  border-bottom: 1px solid #475569;
  position: sticky;
  top: 0;
  z-index: 1;
  min-width: 120px;
  white-space: nowrap;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table tbody td {
  padding: 12px 16px;
  border-bottom: 1px solid #e2e8f0;
  font-size: 14px;
  color: #374151;
  min-width: 120px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table tbody tr:nth-child(even) td {
  background: #f9fafb;
}
.preview-data-analysis .fixed-column-table-container .fixed-table-wrapper .scrollable-columns .scrollable-table tbody tr:hover td {
  background: #f3f4f6;
}
.preview-data-analysis .fixed-column-table-container .pagination-info {
  padding: 12px 20px;
  background: #f8fafc;
  border-top: 1px solid #e5e7eb;
  font-size: 14px;
  color: #6b7280;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 20px;
  background: #f8fafc;
  border-top: 1px solid #e5e7eb;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-info {
  padding: 0;
  background: none;
  border: none;
  font-size: 14px;
  color: #6b7280;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls {
  display: flex;
  gap: 4px;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn {
  padding: 8px 12px;
  border: 1px solid #d1d5db;
  background: white;
  color: #374151;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
  transition: all 0.2s;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn:hover:not(:disabled) {
  background: #f3f4f6;
  border-color: #9ca3af;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn.active {
  background: #3b82f6;
  color: white;
  border-color: #3b82f6;
}
.preview-data-analysis .fixed-column-table-container .pagination-wrapper .pagination-controls .pagination-btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container {
  position: relative;
  display: inline-block;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-input {
  padding: 8px 35px 8px 12px;
  border: 1px solid #d1d5db;
  border-radius: 6px;
  font-size: 14px;
  width: 200px;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-input:focus {
  outline: none;
  border-color: #3b82f6;
  box-shadow: 0 0 0 3px rgba(59, 130, 246, 0.1);
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-clear-btn {
  position: absolute;
  right: 30px;
  top: 50%;
  transform: translateY(-50%);
  background: none;
  border: none;
  cursor: pointer;
  color: #6b7280;
  padding: 2px;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-clear-btn:hover {
  color: #374151;
}
.preview-data-analysis .fixed-column-table-container .search-wrapper .search-input-container .search-icon {
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  color: #9ca3af;
  pointer-events: none;
}
.preview-data-analysis .badge {
  padding: 4px 8px;
  border-radius: 4px;
  font-size: 12px;
  font-weight: 500;
  display: inline-block;
}
.preview-data-analysis .badge.metric-badge.yes {
  background: #fdf4ff;
  color: #a21caf;
}
.preview-data-analysis .badge.metric-badge.no {
  background: #f5f5f5;
  color: #616161;
}
.preview-data-analysis .badge.mandatory-badge.yes {
  background: #dcfce7;
  color: #16a34a;
}
.preview-data-analysis .badge.mandatory-badge.no {
  background: #fef3c7;
  color: #d97706;
}
.preview-data-analysis .badge.newcolumn-badge.yes {
  background: #e0f2fe;
  color: #0277bd;
}
.preview-data-analysis .badge.newcolumn-badge.no {
  background: #f5f5f5;
  color: #616161;
}
.preview-data-analysis .action-buttons {
  display: flex;
  gap: 4px;
  justify-content: center;
}
.preview-data-analysis .action-buttons .action-btn {
  padding: 6px;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  transition: all 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.preview-data-analysis .action-buttons .action-btn.view-btn {
  background: #e3f2fd;
  color: #1565c0;
}
.preview-data-analysis .action-buttons .action-btn.view-btn:hover {
  background: #bbdefb;
}
.preview-data-analysis .action-buttons .action-btn.edit-btn {
  background: #fff3e0;
  color: #ef6c00;
}
.preview-data-analysis .action-buttons .action-btn.edit-btn:hover {
  background: #ffe0b2;
}
.preview-data-analysis .action-buttons .action-btn.delete-btn {
  background: #ffebee;
  color: #d32f2f;
}
.preview-data-analysis .action-buttons .action-btn.delete-btn:hover {
  background: #ffcdd2;
}

.data-mapping-container {
  height: calc(100vh - 100px);
  display: flex;
  justify-content: center;
  align-items: center;
}

.data-mapping-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  row-gap: 20px;
}

.data-mapping-text {
  font-size: 26px;
  font-weight: 800;
}

.chart_container {
  background: transparent;
  border: none;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
  margin-bottom: 0;
}
.chart_container .chart_title {
  margin: 0 0 1rem 0;
  font-size: 1.1rem;
  font-weight: 600;
  color: #333;
}
.chart_container .chart_content {
  min-height: 200px;
  display: flex;
  align-items: center;
  justify-content: center;
}
.chart_container .chart_loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 2rem;
}
.chart_container .chart_loading .loading_spinner {
  width: 40px;
  height: 40px;
  border: 3px solid #f3f3f3;
  border-top: 3px solid #007bff;
  border-radius: 50%;
  animation: spin 1s linear infinite;
  margin-bottom: 1rem;
}
.chart_container .chart_loading p {
  color: #666;
  margin: 0;
}
.chart_container .chart_error {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #dc3545;
  text-align: center;
}
.chart_container .chart_error p {
  margin: 0;
}
.chart_container .chart_empty {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2rem;
  color: #666;
  text-align: center;
}
.chart_container .chart_empty p {
  margin: 0;
}

@keyframes spin {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);
  }
}.settings-layout {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  width: 100%;
  background: #f8f8f8;
}
.settings-layout .settings-header {
  background: white;
  padding: 28px 40px;
  border-bottom: 1px solid #e8e8e8;
}
.settings-layout .settings-header .settings-main-title {
  font-size: 30px;
  font-weight: 700;
  color: #171717;
  font-family: "Ubuntu", sans-serif;
  margin: 0;
  line-height: 1.2;
}
.settings-layout .settings-content-wrapper {
  display: flex;
  flex: 1;
  background: white;
}
.settings-layout .settings-content-wrapper .settings-main-content {
  flex: 1;
  padding: 40px;
  background: white;
}
.settings-layout .settings-content-wrapper .settings-main-content .settings-content-title {
  font-size: 24px;
  font-weight: 700;
  color: #171717;
  font-family: "Ubuntu", sans-serif;
  margin: 0 0 32px 0;
  line-height: 1.3;
}

/* Responsive Design */
@media (max-width: 768px) {
  .settings-layout .settings-header {
    padding: 24px 28px;
  }
  .settings-layout .settings-header .settings-main-title {
    font-size: 24px;
  }
  .settings-layout .settings-content-wrapper {
    flex-direction: column;
  }
  .settings-layout .settings-content-wrapper .settings-main-content {
    padding: 32px 28px;
  }
}
@media (max-width: 480px) {
  .settings-layout .settings-header {
    padding: 20px 24px;
  }
  .settings-layout .settings-header .settings-main-title {
    font-size: 20px;
  }
  .settings-layout .settings-content-wrapper .settings-main-content {
    padding: 24px 20px;
  }
}.settings-input-wrapper {
  position: relative;
  display: inline-block;
  width: auto;
  min-width: 200px;
}

.settings-input {
  width: 100%;
  padding: 8px 12px;
  border: 1px solid var(--border-base);
  border-radius: 4px;
  background: var(--background-color);
  color: var(--secondary-color);
  font-size: var(--font-size-normal);
  font-family: "Ubuntu", sans-serif;
  font-weight: var(--font-weight400);
  transition: all 0.2s ease;
  box-sizing: border-box;
}
.settings-input::placeholder {
  color: var(--accent-gray-medium);
}
.settings-input:focus {
  outline: none;
  border-color: var(--secondary-color);
  box-shadow: 0 0 0 2px rgba(23, 23, 23, 0.1);
}
.settings-input:hover {
  border-color: var(--accent-gray-medium);
}
.settings-input:disabled {
  background: var(--body-bg);
  color: var(--accent-gray-medium);
  cursor: not-allowed;
}