@charset "UTF-8";/**
 * 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.
 */

: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: #3b82f6;
  --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 #bfdbfe;
  --maskbg: rgba(0, 0, 0, 0.4);
  --highlight-bg: #eff6ff;
  --highlight-text-color: #1d4ed8;
  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("/_app/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("/_app/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:#f5f9ff;
  --primary-100:#d0e1fd;
  --primary-200:#abc9fb;
  --primary-300:#85b2f9;
  --primary-400:#609af8;
  --primary-500:#3b82f6;
  --primary-600:#326fd1;
  --primary-700:#295bac;
  --primary-800:#204887;
  --primary-900:#183462;
}

.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: #3b82f6;
}
.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: #3b82f6;
}
.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: #3b82f6;
}
.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: #3b82f6;
}

@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 #bfdbfe;
  }
  .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: #3b82f6;
  }
  .p-autocomplete .p-autocomplete-multiple-container:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #eff6ff;
    color: #1d4ed8;
    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: #1d4ed8;
    background: #eff6ff;
  }
  .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 #bfdbfe;
    border-color: #3b82f6;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-datepicker table td > span:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  @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: #3b82f6;
  }
  .p-cascadeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-cascadeselect-panel .p-cascadeselect-items .p-cascadeselect-item.p-highlight.p-focus {
    background: rgba(59, 130, 246, 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: #3b82f6;
    background: #3b82f6;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover) .p-checkbox-box {
    border-color: #3b82f6;
  }
  .p-checkbox:not(.p-disabled):has(.p-checkbox-input:hover).p-highlight .p-checkbox-box {
    border-color: #1d4ed8;
    background: #1d4ed8;
    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 #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #3b82f6;
  }
  .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: #1d4ed8;
  }
  .p-input-filled .p-checkbox .p-checkbox-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-checkbox.p-highlight .p-checkbox-box {
    background: #3b82f6;
  }
  .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: #1d4ed8;
  }
  .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: #3b82f6;
  }
  .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: #1d4ed8;
  }
  .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: #3b82f6;
  }
  .p-chips:not(.p-disabled).p-focus .p-chips-multiple-container {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #3b82f6;
  }
  .p-dropdown:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-dropdown-panel .p-dropdown-items .p-dropdown-item.p-highlight.p-focus {
    background: rgba(59, 130, 246, 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: #3b82f6;
  }
  .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: #2563eb;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
  }
  .p-inputtext:enabled:focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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(59, 130, 246, 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 #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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: #3b82f6;
  }
  .p-multiselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-multiselect-panel .p-multiselect-items .p-multiselect-item.p-highlight.p-focus {
    background: rgba(59, 130, 246, 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: #3b82f6;
    background: #3b82f6;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover) .p-radiobutton-box {
    border-color: #3b82f6;
  }
  .p-radiobutton:not(.p-disabled):has(.p-radiobutton-input:hover).p-highlight .p-radiobutton-box {
    border-color: #1d4ed8;
    background: #1d4ed8;
  }
  .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 #bfdbfe;
    border-color: #3b82f6;
  }
  .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: #3b82f6;
  }
  .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: #1d4ed8;
  }
  .p-input-filled .p-radiobutton .p-radiobutton-box {
    background-color: #f3f4f6;
  }
  .p-input-filled .p-radiobutton.p-highlight .p-radiobutton-box {
    background: #3b82f6;
  }
  .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: #1d4ed8;
  }
  .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 #bfdbfe;
  }
  .p-rating .p-rating-item.p-rating-item-active .p-rating-icon {
    color: #3b82f6;
  }
  .p-rating:not(.p-disabled):not(.p-readonly) .p-rating-item:hover .p-rating-icon {
    color: #3b82f6;
  }
  .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: #3b82f6;
    border-color: #3b82f6;
    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: #2563eb;
    border-color: #2563eb;
    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 #3b82f6;
    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 #bfdbfe;
  }
  .p-slider .p-slider-range {
    background: #3b82f6;
  }
  .p-slider:not(.p-disabled) .p-slider-handle:hover {
    background: #3b82f6;
    border-color: #3b82f6;
  }
  .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: #3b82f6;
  }
  .p-treeselect:not(.p-disabled).p-focus {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
    border-color: #3b82f6;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
    border-color: #3b82f6;
    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: #2563eb;
    border-color: #2563eb;
    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 #bfdbfe;
    border-color: #3b82f6;
  }
  .p-togglebutton.p-invalid > .p-button {
    border-color: #e24c4c;
  }
  .p-button {
    color: #ffffff;
    background: #3b82f6;
    border: 1px solid #3b82f6;
    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: #2563eb;
    color: #ffffff;
    border-color: #2563eb;
  }
  .p-button:not(:disabled):active {
    background: #1d4ed8;
    color: #ffffff;
    border-color: #1d4ed8;
  }
  .p-button.p-button-outlined {
    background-color: transparent;
    color: #3b82f6;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):hover {
    background: rgba(59, 130, 246, 0.04);
    color: #3b82f6;
    border: 1px solid;
  }
  .p-button.p-button-outlined:not(:disabled):active {
    background: rgba(59, 130, 246, 0.16);
    color: #3b82f6;
    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: #3b82f6;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):hover {
    background: rgba(59, 130, 246, 0.04);
    color: #3b82f6;
    border-color: transparent;
  }
  .p-button.p-button-text:not(:disabled):active {
    background: rgba(59, 130, 246, 0.16);
    color: #3b82f6;
    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 #bfdbfe;
  }
  .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: #3b82f6;
    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: #1d4ed8;
    background: transparent;
    border: transparent;
  }
  .p-button.p-button-link:not(:disabled):hover {
    background: transparent;
    color: #1d4ed8;
    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 #bfdbfe;
    border-color: transparent;
  }
  .p-button.p-button-link:not(:disabled):active {
    background: transparent;
    color: #1d4ed8;
    border-color: transparent;
  }
  .p-splitbutton {
    border-radius: 6px;
  }
  .p-splitbutton.p-button-outlined > .p-button {
    background-color: transparent;
    color: #3b82f6;
    border: 1px solid;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):hover {
    background: rgba(59, 130, 246, 0.04);
    color: #3b82f6;
  }
  .p-splitbutton.p-button-outlined > .p-button:not(:disabled):active {
    background: rgba(59, 130, 246, 0.16);
    color: #3b82f6;
  }
  .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: #3b82f6;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):hover {
    background: rgba(59, 130, 246, 0.04);
    color: #3b82f6;
    border-color: transparent;
  }
  .p-splitbutton.p-button-text > .p-button:not(:disabled):active {
    background: rgba(59, 130, 246, 0.16);
    color: #3b82f6;
    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 #bfdbfe;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .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: #1d4ed8;
    background: #eff6ff;
    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: #eff6ff;
    color: #1d4ed8;
  }
  .p-datatable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #1d4ed8;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover {
    background: #eff6ff;
    color: #1d4ed8;
  }
  .p-datatable .p-sortable-column.p-highlight:not(.p-sortable-disabled):hover .p-sortable-column-icon {
    color: #1d4ed8;
  }
  .p-datatable .p-sortable-column:focus-visible {
    box-shadow: inset 0 0 0 0.15rem #bfdbfe;
    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 #bfdbfe;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight {
    background: #eff6ff;
    color: #1d4ed8;
  }
  .p-datatable .p-datatable-tbody > tr.p-highlight-contextmenu {
    outline: 0.15rem solid #bfdbfe;
    outline-offset: -0.15rem;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-top > td {
    box-shadow: inset 0 2px 0 0 #eff6ff;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #eff6ff;
  }
  .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 #bfdbfe;
    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 #bfdbfe;
    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: #3b82f6;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #1d4ed8;
  }
  .p-datatable.p-datatable-striped .p-datatable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #1d4ed8;
  }
  .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(59, 130, 246, 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: #eff6ff;
    color: #1d4ed8;
  }
  .p-column-filter-menu-button:focus-visible {
    outline: 0 none;
    outline-offset: 0;
    box-shadow: 0 0 0 0.2rem #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-orderlist .p-orderlist-list .p-orderlist-item.p-highlight.p-focus {
    background: rgba(59, 130, 246, 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: #eff6ff;
    color: #1d4ed8;
  }
  .p-organizationchart .p-organizationchart-node-content.p-highlight .p-node-toggler i {
    color: #70aeff;
  }
  .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 #bfdbfe;
  }
  .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: #eff6ff;
    border-color: #eff6ff;
    color: #1d4ed8;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-picklist .p-picklist-list .p-picklist-item.p-highlight.p-focus {
    background: rgba(59, 130, 246, 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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .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: #8cbeff;
  }
  .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: #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
    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: #eff6ff;
    color: #1d4ed8;
  }
  .p-treetable .p-sortable-column.p-highlight .p-sortable-column-icon {
    color: #1d4ed8;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
    outline-offset: -0.15rem;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight {
    background: #eff6ff;
    color: #1d4ed8;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler {
    color: #1d4ed8;
  }
  .p-treetable .p-treetable-tbody > tr.p-highlight .p-treetable-toggler:hover {
    color: #1d4ed8;
  }
  .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: #3b82f6;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler {
    color: #1d4ed8;
  }
  .p-treetable.p-treetable-striped .p-treetable-tbody > tr.p-row-odd.p-highlight .p-row-toggler:hover {
    color: #1d4ed8;
  }
  .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 #3b82f6;
    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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #eff6ff;
    color: #1d4ed8;
  }
  .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 #bfdbfe;
  }
  .p-stepper .p-stepper-header:has(~ .p-highlight) .p-stepper-separator {
    background-color: #3b82f6;
  }
  .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: #3b82f6;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
    color: #3b82f6;
  }
  .p-tabview .p-tabview-close {
    margin-left: 0.5rem;
  }
  .p-tabview .p-tabview-nav-btn.p-link {
    background: #ffffff;
    color: #3b82f6;
    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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
    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: #2563eb;
    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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-contextmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-contextmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-megamenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-megamenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .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: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-megamenu.p-megamenu-mobile-active .p-megamenu-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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: #1d4ed8;
    background: #eff6ff;
  }
  .p-menu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-menu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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: #1d4ed8;
    background: #eff6ff;
  }
  .p-menubar .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-menubar .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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 #bfdbfe;
  }
  .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 #bfdbfe;
    }
    .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: #1d4ed8;
      background: #eff6ff;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
      color: #1d4ed8;
    }
    .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: #1d4ed8;
    }
    .p-menubar .p-menubar-root-list > .p-menuitem > .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
      background: rgba(59, 130, 246, 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 #bfdbfe;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-panelmenu .p-panelmenu-content .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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: #1d4ed8;
    background: #eff6ff;
  }
  .p-slidemenu .p-menuitem-link.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-slidemenu .p-menuitem-link.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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: #eff6ff;
  }
  .p-slidemenu .p-slidemenu.p-slidemenu-active > .p-slidemenu-link .p-slidemenu-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .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 #bfdbfe;
  }
  .p-steps .p-steps-item.p-highlight .p-steps-number {
    background: #eff6ff;
    color: #1d4ed8;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
    color: #3b82f6;
  }
  .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: #1d4ed8;
    background: #eff6ff;
  }
  .p-tieredmenu .p-menuitem.p-highlight > .p-menuitem-content .p-menuitem-link .p-menuitem-text {
    color: #1d4ed8;
  }
  .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: #1d4ed8;
  }
  .p-tieredmenu .p-menuitem.p-highlight.p-focus > .p-menuitem-content {
    background: rgba(59, 130, 246, 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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .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: #eff6ff;
    color: #1d4ed8;
  }
  .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 #bfdbfe;
  }
  .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 #bfdbfe;
  }
  .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: #3b82f6;
    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 #bfdbfe;
  }
  .p-metergroup .p-metergroup-meter-container {
    background: #e5e7eb;
    border-radius: 6px;
  }
  .p-metergroup .p-metergroup-meter {
    border: 0 none;
    background: #3b82f6;
  }
  .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: #3b82f6;
    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: #3b82f6;
  }
  .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: #3b82f6;
    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: #3b82f6;
    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: #3b82f6;
  }
  .p-galleria .p-galleria-indicators .p-galleria-indicator.p-highlight button {
    background-color: #3b82f6;
  }
  .p-button:focus {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #9dc1fb, 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 #3b82f6;
  }
  .p-datatable .p-datatable-tbody > tr.p-datatable-dragpoint-bottom > td {
    box-shadow: inset 0 -2px 0 0 #3b82f6;
  }
  .p-speeddial-item.p-focus > .p-speeddial-action {
    box-shadow: 0 0 0 2px #ffffff, 0 0 0 4px #9dc1fb, 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: #3b82f6;
    color: #ffffff;
  }
  .p-stepper .p-stepper-header.p-highlight .p-stepper-number {
    background: #3b82f6;
    color: #ffffff;
  }
}
/* Gear menu content is portaled, so its classes are top-level. */
.grid-view-menu {
  min-width: 220px;
}
.grid-view-menu__heading {
  padding: 8px 12px 4px;
  font-size: 12px;
  font-weight: 700;
  color: var(--motif-text-color-secondary, #747480);
}
.grid-view-menu__item--active {
  font-weight: 600;
}
.grid-view-menu__check {
  display: inline-flex;
  width: 16px;
  margin-right: 8px;
}
.grid-view-menu__divider {
  margin: 4px 0;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
}

/* Portaled to <body> by the PrimeReact Sidebar, so it is styled at the top level. */
.grid-views-panel {
  border-left: 1px solid var(--motif-border-color, #e1e1e6);
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.12);
}
.grid-views-panel.p-sidebar {
  background-color: var(--motif-background-color-card, #fff);
}
.grid-views-panel .p-sidebar-header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fff);
}
.grid-views-panel .p-sidebar-content {
  padding: 18px 20px 12px;
  background-color: var(--motif-background-color-card, #fff);
  height: calc(100% - 61px);
  display: flex;
  flex-direction: column;
}
.grid-views-panel .p-sidebar-close {
  color: var(--motif-text-color-secondary, #747480);
}
.grid-views-panel .p-sidebar-close:hover {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  color: var(--motif-text-color-primary, #1a1a24);
}
.grid-views-panel__panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}
.grid-views-panel__body {
  flex: 1;
  overflow-y: auto;
  padding: 4px 4px 16px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.grid-views-panel__body > * {
  flex-shrink: 0;
}
.grid-views-panel__section-label {
  display: flex;
  justify-content: space-between;
  font-size: 13px;
  font-weight: 700;
  color: var(--motif-text-color-primary, #2e2e38);
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  padding-bottom: 6px;
  margin-bottom: -4px;
}
.grid-views-panel__count {
  font-weight: 400;
  color: var(--motif-text-color-secondary, #747480);
}
.grid-views-panel__hint {
  font-size: 12px;
  color: var(--motif-text-color-secondary, #747480);
  line-height: 1.4;
  margin-top: -6px;
}
.grid-views-panel__columns {
  margin: 0;
  padding: 0;
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.grid-views-panel__column {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 4px;
}
.grid-views-panel__column > :first-child {
  flex: 1;
  min-width: 0;
}
.grid-views-panel__footer {
  padding: 14px 4px 4px;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  flex-shrink: 0;
}
.grid-views-panel__delete {
  margin-right: auto;
}

body.motif-theme-dark .grid-views-panel.p-sidebar,
body.motif-theme-dark .grid-views-panel .p-sidebar-header,
body.motif-theme-dark .grid-views-panel .p-sidebar-content {
  background-color: #22222b;
}
body.motif-theme-dark .grid-views-panel .p-sidebar-header {
  border-bottom-color: rgba(255, 255, 255, 0.12);
}
body.motif-theme-dark .grid-views-panel .p-sidebar-close {
  color: #a1a1a6;
}
body.motif-theme-dark .grid-views-panel .p-sidebar-close:hover {
  background-color: rgba(255, 255, 255, 0.08);
  color: #f2f2f4;
}
body.motif-theme-dark .grid-views-panel .motif-body1-default-bold, body.motif-theme-dark .grid-views-panel__section-label {
  color: #f2f2f4;
}
body.motif-theme-dark .grid-views-panel__section-label, body.motif-theme-dark .grid-views-panel__footer, body.motif-theme-dark .grid-views-panel__column {
  border-color: rgba(255, 255, 255, 0.12);
}
body.motif-theme-dark .grid-views-panel__hint, body.motif-theme-dark .grid-views-panel__count {
  color: #a1a1a6;
}/*  
 * @group Color Variables
 * */
/*
 * Orange
 * */
/*
  * Red
  * */
/*
  * Maroon
  * */
/*
  * Purple
  * */
/*
  * Blue
  * */
/*
  * Green
  * */
/*
  * Teal
  * */
/*
  * Yellow
  * */
/*
  * Neutral
  * */
.schedule-change-preview-banner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 20px;
  background-color: #f4f7fc;
  border-bottom: 1px solid #afcdfb;
  flex-shrink: 0;
}
.schedule-change-preview-banner .preview-banner-content {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #0f69ae;
}
.schedule-change-preview-banner .preview-banner-text {
  font-size: 13px;
  color: #0a558e;
}
.schedule-change-preview-banner .preview-banner-text strong {
  font-weight: 700;
}
.schedule-change-preview-banner .preview-banner-actions {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-shrink: 0;
}

.motif-theme-dark .schedule-change-preview-banner {
  background-color: #083153;
  border-bottom-color: #0a558e;
}
.motif-theme-dark .schedule-change-preview-banner .preview-banner-content {
  color: #85b9fd;
}
.motif-theme-dark .schedule-change-preview-banner .preview-banner-text {
  color: #afcdfb;
}/*  
 * @group Color Variables
 * */
/*
 * Orange
 * */
/*
  * Red
  * */
/*
  * Maroon
  * */
/*
  * Purple
  * */
/*
  * Blue
  * */
/*
  * Green
  * */
/*
  * Teal
  * */
/*
  * Yellow
  * */
/*
  * Neutral
  * */
.sync-panel-overlay {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.3);
  z-index: 1099;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0.3s ease;
}
.sync-panel-overlay.visible {
  opacity: 1;
  visibility: visible;
}

.sync-review-panel {
  position: fixed;
  top: 0;
  right: -66.67vw;
  width: 66.67vw;
  height: 100vh;
  background-color: var(--motif-background-color, #fafafa);
  z-index: 1100;
  display: flex;
  flex-direction: column;
  transition: right 0.3s ease;
}
.sync-review-panel.open {
  right: 0;
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}

.sync-panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
  flex-shrink: 0;
}

.sync-panel-header-left {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sync-panel-title {
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
}

.sync-panel-header-right {
  display: flex;
  align-items: center;
  gap: 12px;
}

.sync-panel-count {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
}

.sync-panel-description {
  padding: 16px 20px 0;
  color: var(--motif-text-color-secondary, #747480);
  line-height: 1.4;
  flex-shrink: 0;
}

.sync-panel-grid {
  flex: 1;
  width: 100%;
  padding: 12px 20px;
  overflow: hidden;
}
.sync-panel-grid.ag-theme-quartz {
  --ag-font-family: 'ey_interstate', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --ag-font-size: 14px;
  --ag-header-font-size: 12px;
  --ag-header-height: 35px;
  --ag-background-color: var(--motif-background-color-card, #ffffff);
  --ag-header-background-color: var(--motif-background-color, #f5f5f5);
  --ag-border-color: var(--motif-border-color, #e1e1e6);
  --ag-row-hover-color: rgba(0, 0, 0, 0.04);
  --ag-odd-row-background-color: rgba(0, 0, 0, 0.02);
  --ag-row-border: solid 1px var(--motif-border-color, #f0f0f0);
}
.sync-panel-grid.ag-theme-quartz .ag-cell {
  font-weight: 300;
}

.sync-panel-loading {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.sync-panel-no-impact {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  gap: 12px;
  color: var(--motif-text-color-secondary, #747480);
  text-align: center;
  padding: 2rem;
}
.sync-panel-no-impact p {
  font-size: 0.9375rem;
  margin: 0;
  line-height: 1.5;
}

.sync-panel-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
  flex-shrink: 0;
}

.sync-panel-footer-left {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
  flex: 1;
}

.sync-panel-footer-right {
  display: flex;
  gap: 10px;
}

.sync-panel-pagination {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.sync-panel-pagination-summary {
  white-space: nowrap;
}

.changed-fields-cell {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
  padding: 4px 0;
}
.changed-fields-cell .field-chip {
  font-size: 11px;
}

.values-cell {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 4px 0;
  font-size: 12px;
}
.values-cell .value-row {
  display: flex;
  align-items: center;
  gap: 6px;
}
.values-cell .old-value {
  color: #747480;
  text-decoration: line-through;
}
.values-cell .value-arrow {
  color: #c4c4cd;
  font-size: 11px;
}
.values-cell .new-value {
  font-weight: 600;
}

.duration-impact-cell {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  padding: 4px 0;
}
.duration-impact-cell .duration-current {
  color: #747480;
}
.duration-impact-cell .duration-arrow {
  color: #c4c4cd;
  font-size: 11px;
}
.duration-impact-cell .duration-projected {
  font-weight: 600;
}
.duration-impact-cell.increase .duration-projected {
  color: #ef4444;
}
.duration-impact-cell.decrease .duration-projected {
  color: #2da771;
}
.duration-impact-cell.unchanged .duration-projected {
  color: inherit;
}

.duration-na {
  color: #c4c4cd;
}

.source-chip {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 9px;
  font-weight: 600;
  letter-spacing: 0.2px;
  line-height: 1.4;
  border: 1px solid transparent;
}
.source-chip.geospatial {
  background-color: rgba(53, 164, 232, 0.15);
  color: #35a4e8;
  border-color: rgba(53, 164, 232, 0.3);
}
.source-chip.grid-edit {
  background-color: rgba(245, 158, 11, 0.15);
  color: #d97706;
  border-color: rgba(245, 158, 11, 0.3);
}

.sync-panel-info-notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0 20px 12px;
  padding: 10px 12px;
  background-color: #eff6ff;
  border: 1px solid #bfdbfe;
  border-radius: 4px;
  font-size: 12px;
  color: #1e40af;
  line-height: 1.4;
  flex-shrink: 0;
}
.sync-panel-info-notice strong {
  font-weight: 700;
}

.motif-theme-dark .sync-review-panel {
  background-color: var(--motif-background-color-card, #23232f);
}
.motif-theme-dark .sync-review-panel.open {
  box-shadow: -4px 0 20px rgba(0, 0, 0, 0.4);
}
.motif-theme-dark .sync-panel-header {
  background-color: var(--motif-background-color-card, #23232f);
  border-bottom-color: var(--motif-border-color, #33333e);
}
.motif-theme-dark .sync-panel-title {
  color: var(--motif-text-color-primary, #ffffff);
}
.motif-theme-dark .sync-panel-count {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
.motif-theme-dark .sync-panel-description {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
.motif-theme-dark .sync-panel-footer {
  background-color: var(--motif-background-color-card, #23232f);
  border-top-color: var(--motif-border-color, #33333e);
}
.motif-theme-dark .sync-panel-grid.ag-theme-quartz {
  --ag-background-color: #23232f;
  --ag-foreground-color: #ffffff;
  --ag-header-background-color: #1a1a24;
  --ag-header-text-color: #ffffff;
  --ag-odd-row-background-color: rgba(255, 255, 255, 0.02);
  --ag-row-hover-color: rgba(255, 255, 255, 0.05);
  --ag-border-color: #33333e;
  --ag-row-border: solid 1px #2a2a35;
}
.motif-theme-dark .values-cell .old-value {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
.motif-theme-dark .values-cell .value-arrow {
  color: #555;
}
.motif-theme-dark .values-cell .new-value {
  color: var(--motif-text-color-primary, #ffffff);
}
.motif-theme-dark .duration-impact-cell .duration-current {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
.motif-theme-dark .duration-impact-cell .duration-arrow {
  color: #555;
}
.motif-theme-dark .sync-panel-info-notice {
  background-color: rgba(59, 130, 246, 0.1);
  border-color: rgba(59, 130, 246, 0.25);
  color: #93c5fd;
}.schedule-pending-dot-container {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  height: 100%;
}

.schedule-pending-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex: 0 0 10px;
}

.schedule-pending-dot--schedule {
  background-color: #ef4444;
}

.schedule-pending-dot--cost {
  background-color: #16a34a;
}

.schedule-pending-dot--placeholder {
  background-color: transparent;
}

.tb-capacity-link {
  color: var(--motif-palette-primary-base, #0f62fe);
  text-decoration: none;
  cursor: pointer;
}
.tb-capacity-link:hover {
  text-decoration: underline;
}

.tb-capacity-effective {
  font-weight: 600;
}

.tb-capacity-override-empty {
  color: var(--motif-palette-text-disabled, #a8a8a8);
}.auto-group-wizard .ag-wizard-step {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 4px 2px;
}
.auto-group-wizard .ag-wizard-row {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 16px;
}
.auto-group-wizard .ag-wizard-row--three {
  grid-template-columns: 1fr 1fr 1fr;
}
.auto-group-wizard .ag-wizard-section-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--body-color, #2e2e38);
  border-bottom: 1px solid var(--card-border-color, #e1e1e6);
  padding-bottom: 4px;
}
.auto-group-wizard .ag-wizard-hint {
  font-size: 11px;
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-wizard-section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  border-bottom: 1px solid var(--card-border-color, #e1e1e6);
  padding-bottom: 4px;
}
.auto-group-wizard .ag-wizard-section-head .ag-wizard-section-title {
  border-bottom: none;
  padding-bottom: 0;
}
.auto-group-wizard .ag-wizard-pill {
  font-size: 11px;
  color: var(--weak-text-color, #747480);
  background: var(--card-bg, #f8f8fb);
  border: 1px solid var(--card-border-color, #e1e1e6);
  border-radius: 999px;
  padding: 2px 10px;
  white-space: nowrap;
}
.auto-group-wizard .ag-wizard-pill strong {
  color: var(--body-color, #2e2e38);
}
.auto-group-wizard .ag-wizard-preserve {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.auto-group-wizard .ag-wizard-preserve .react-date-picker,
.auto-group-wizard .ag-wizard-preserve .motif-date-picker-wrapper {
  width: 100%;
}
.auto-group-wizard .ag-wizard-preserve .react-date-picker--open {
  z-index: 2;
}
.auto-group-wizard .ag-wizard-check {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.auto-group-wizard .ag-wizard-check-hint {
  padding-left: 28px;
}
.auto-group-wizard .ag-wizard-field-aligned {
  padding-top: 38px;
}
.auto-group-wizard .ag-wizard-devgroups {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.auto-group-wizard .ag-wizard-devgroups-grid {
  height: 260px;
  width: 100%;
}
.auto-group-wizard .ag-wizard-devgroups-grid .ag-wizard-amber {
  color: #c77700;
  font-weight: 700;
}
.auto-group-wizard .ag-wizard-link {
  color: #35a4e8;
  text-decoration: underline;
  cursor: pointer;
}
.auto-group-wizard .ag-wizard-center {
  text-align: center;
}
.auto-group-wizard .ag-wizard-date {
  padding: 7px 10px;
  border: 1px solid #babac4;
  border-radius: 4px;
  font-size: 13px;
}
.auto-group-wizard .ag-wizard-review-title {
  font-size: 14px;
  font-weight: 700;
}
.auto-group-wizard .ag-wizard-review-section-title {
  font-size: 12px;
  font-weight: 700;
  margin-top: 8px;
  color: var(--info, #35a4e8);
}
.auto-group-wizard .ag-wizard-review-row {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  font-size: 12px;
  padding: 4px 0;
  border-bottom: 1px solid var(--card-border-color, #f0f0f3);
}
.auto-group-wizard .ag-wizard-review-row span:last-child {
  font-weight: 700;
}
.auto-group-wizard .ag-wizard-ops-note {
  margin-top: 12px;
}
.auto-group-wizard .ag-wizard-results {
  align-items: stretch;
}
.auto-group-wizard .ag-wizard-results-header {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-size: 16px;
  font-weight: 700;
  color: var(--success, #2da771);
  padding: 8px 0;
}
.auto-group-wizard .ag-wizard-footer-left {
  display: flex;
  gap: 12px;
}
.auto-group-wizard .ag-wizard-footer-right {
  display: flex;
  align-items: center;
  gap: 12px;
}
.auto-group-wizard .ag-progress-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 4px 2px;
}
.auto-group-wizard .ag-progress-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.auto-group-wizard .ag-progress-status-chip {
  font-size: 12px;
  font-weight: 600;
  color: var(--info, #35a4e8);
}
.auto-group-wizard .ag-progress-elapsed {
  font-variant-numeric: tabular-nums;
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-progress-kpi-row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.auto-group-wizard .ag-progress-kpi-card {
  flex: 1;
  min-width: 100px;
  background: var(--card-bg, #f8f8fb);
  border: 1px solid var(--card-border-color, #e1e1e6);
  border-radius: 6px;
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  text-align: center;
}
.auto-group-wizard .ag-progress-kpi-card.ag-progress-kpi-card--warn {
  border-color: #c77700;
  background: #fff8ec;
}
.auto-group-wizard .ag-progress-kpi-value {
  font-size: 22px;
  font-weight: 700;
  color: var(--body-color, #2e2e38);
  line-height: 1.1;
}
.auto-group-wizard .ag-progress-kpi-label {
  font-size: 11px;
  color: var(--weak-text-color, #747480);
  text-transform: uppercase;
  letter-spacing: 0.4px;
}
.auto-group-wizard .ag-progress-bar-section {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.auto-group-wizard .ag-progress-current {
  font-size: 12px;
  color: var(--body-color, #2e2e38);
}
.auto-group-wizard .ag-progress-count {
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-progress-bar-track {
  height: 8px;
  background: var(--card-border-color, #e1e1e6);
  border-radius: 4px;
  overflow: hidden;
}
.auto-group-wizard .ag-progress-bar-fill {
  height: 100%;
  background: var(--info, #35a4e8);
  border-radius: 4px;
  transition: width 0.3s ease;
}
.auto-group-wizard .ag-progress-bar-pct {
  font-size: 11px;
  color: var(--weak-text-color, #747480);
  text-align: right;
}
.auto-group-wizard .ag-progress-log-section {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 0;
}
.auto-group-wizard .ag-progress-log-title {
  font-size: 12px;
  font-weight: 700;
  color: var(--ink-soft, #4e4e5d);
  border-bottom: 1px solid var(--card-border-color, #e1e1e6);
  padding-bottom: 4px;
}
.auto-group-wizard .ag-progress-log {
  max-height: 200px;
  overflow-y: auto;
  font-family: "Consolas", "Courier New", monospace;
  font-size: 11px;
  line-height: 1.6;
  background: var(--card-bg, #f8f8fb);
  border: 1px solid var(--card-border-color, #e1e1e6);
  border-radius: 4px;
  padding: 8px;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.auto-group-wizard .ag-log-entry {
  display: flex;
  align-items: baseline;
  gap: 8px;
}
.auto-group-wizard .ag-log-message {
  flex: 1;
  color: var(--body-color, #2e2e38);
  word-break: break-word;
}
.auto-group-wizard .ag-log-empty {
  color: var(--weak-text-color, #747480);
  font-style: italic;
}
.auto-group-wizard .ag-log-chip {
  flex-shrink: 0;
  display: inline-block;
  padding: 0 6px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  line-height: 1.6;
}
.auto-group-wizard .ag-log-chip--info {
  background: #daeffe;
  color: #1a6fa4;
}
.auto-group-wizard .ag-log-chip--warn {
  background: #fff3cc;
  color: #8a5c00;
}
.auto-group-wizard .ag-log-chip--error {
  background: #fde8e8;
  color: #c52b2b;
}
.auto-group-wizard .ag-results-view {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 4px 2px;
}
.auto-group-wizard .ag-results-actions {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 12px;
  padding-top: 8px;
  border-top: 1px solid var(--card-border-color, #e1e1e6);
}
.auto-group-wizard .ag-results-actions .ag-results-cascade-toggle {
  margin-right: auto;
  max-width: 60%;
}
.auto-group-wizard .ag-results-actions .ag-results-proposed {
  margin-right: auto;
  font-size: 12px;
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-results-table-wrapper {
  max-height: 300px;
  overflow-y: auto;
  border: 1px solid var(--card-border-color, #e1e1e6);
  border-radius: 4px;
}
.auto-group-wizard .ag-results-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.auto-group-wizard .ag-results-table th {
  position: sticky;
  top: 0;
  background: var(--card-bg, #f8f8fb);
  font-weight: 700;
  text-align: left;
  padding: 8px 10px;
  border-bottom: 2px solid var(--card-border-color, #e1e1e6);
  z-index: 1;
}
.auto-group-wizard .ag-results-table td {
  padding: 6px 10px;
  border-bottom: 1px solid var(--card-border-color, #f0f0f3);
  vertical-align: middle;
}
.auto-group-wizard .ag-results-row--parent:hover td {
  background: var(--hover-bg, #f0f0f8);
}
.auto-group-wizard .ag-results-row--total td {
  font-weight: 700;
  border-top: 2px solid var(--card-border-color, #e1e1e6);
}
.auto-group-wizard .ag-results-area-table .ag-wizard-amber {
  color: #c77700;
  font-weight: 700;
}
.auto-group-wizard .ag-results-details-toggle {
  align-self: flex-start;
}
.auto-group-wizard .ag-results-row--child td {
  background: var(--card-bg, #f8f8fb);
  padding-left: 24px;
}
.auto-group-wizard .ag-results-expand-icon {
  display: inline-block;
  margin-right: 6px;
  font-size: 10px;
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-results-note {
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-results-child-id {
  display: flex;
  align-items: center;
  gap: 8px;
}
.auto-group-wizard .ag-results-color-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.auto-group-wizard .ag-results-chip {
  display: inline-block;
  padding: 0 6px;
  border-radius: 3px;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.4px;
  line-height: 1.7;
}
.auto-group-wizard .ag-results-chip--success {
  background: #d6f5e8;
  color: #1a6b45;
}
.auto-group-wizard .ag-results-chip--info {
  background: #daeffe;
  color: #1a6fa4;
}
.auto-group-wizard .ag-results-chip--warn {
  background: #fff3cc;
  color: #8a5c00;
}
.auto-group-wizard .ag-results-chip--neutral {
  background: var(--card-border-color, #e1e1e6);
  color: var(--weak-text-color, #747480);
}
.auto-group-wizard .ag-results-chip--new {
  background: #e8f3ff;
  color: #1565c0;
  margin-left: 6px;
}
.auto-group-wizard .ag-diag-panel {
  border: 1px solid var(--card-border-color, #e1e1e6);
  border-radius: 6px;
  overflow: hidden;
}
.auto-group-wizard .ag-diag-panel-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 14px;
  background: var(--card-bg, #f8f8fb);
  border-bottom: 1px solid var(--card-border-color, #e1e1e6);
}
.auto-group-wizard .ag-diag-panel-title {
  margin: 0;
  border: none;
  padding: 0;
}
.auto-group-wizard .ag-diag-panel-body {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 14px;
}
.auto-group-wizard .ag-diag-geo-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.auto-group-wizard .ag-diag-geo-bar {
  display: flex;
  height: 16px;
  border-radius: 4px;
  overflow: hidden;
  width: 100%;
}
.auto-group-wizard .ag-diag-geo-segment {
  height: 100%;
  transition: width 0.2s ease;
}
.auto-group-wizard .ag-diag-geo-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  font-size: 11px;
  color: var(--body-color, #2e2e38);
}
.auto-group-wizard .ag-diag-geo-legend-item {
  display: flex;
  align-items: center;
  gap: 5px;
}
.auto-group-wizard .ag-diag-geo-legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.auto-group-wizard .ag-diag-warnings-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.auto-group-wizard .ag-diag-warnings-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.auto-group-wizard .ag-diag-devgroup-section {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.auto-group-wizard .ag-diag-row--issue td {
  background: #fffbf0;
}
.auto-group-wizard .ag-diag-cell--warn {
  color: #c77700;
  font-weight: 700;
}
.auto-group-wizard .ag-diag-expand-hint {
  font-size: 10px;
  color: var(--weak-text-color, #747480);
  margin-left: 4px;
}
.auto-group-wizard .ag-diag-detail-cell {
  padding: 0 !important;
}
.auto-group-wizard .ag-diag-detail-warnings {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding: 8px 14px 4px;
}
.auto-group-wizard .ag-diag-group-metrics {
  padding: 8px 14px 4px;
}
.auto-group-wizard .ag-diag-sub-title {
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: var(--weak-text-color, #747480);
  margin-bottom: 6px;
}
.auto-group-wizard .ag-diag-well-detail {
  padding: 8px 14px 12px;
}
.auto-group-wizard .ag-diag-well-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}
.auto-group-wizard .ag-diag-well-table th {
  font-weight: 700;
  text-align: left;
  padding: 5px 8px;
  border-bottom: 2px solid var(--card-border-color, #e1e1e6);
  background: var(--card-bg, #f8f8fb);
  position: sticky;
  top: 0;
}
.auto-group-wizard .ag-diag-well-table td {
  padding: 4px 8px;
  border-bottom: 1px solid var(--card-border-color, #f0f0f3);
  vertical-align: middle;
}
.auto-group-wizard .ag-diag-geo-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 16px;
  height: 16px;
  border-radius: 50%;
  color: #fff;
  font-size: 9px;
  font-weight: 700;
  margin-right: 5px;
  flex-shrink: 0;
  vertical-align: middle;
}
.auto-group-wizard .ag-diag-mono {
  font-family: "Consolas", "Courier New", monospace;
  font-size: 10px;
}
.auto-group-wizard .ag-diag-reason {
  color: var(--weak-text-color, #747480);
  font-size: 10px;
}
.auto-group-wizard .ag-diag-truncate {
  padding-top: 6px;
}
.auto-group-wizard .ag-diag-loading {
  display: flex;
  align-items: center;
  gap: 10px;
  font-size: 12px;
  color: var(--weak-text-color, #747480);
  padding: 8px 0;
}
@keyframes ag-spin {
  to {
    transform: rotate(360deg);
  }
}
.auto-group-wizard .ag-diag-spinner {
  display: inline-block;
  width: 16px;
  height: 16px;
  border: 2px solid var(--card-border-color, #e1e1e6);
  border-top-color: var(--info, #35a4e8);
  border-radius: 50%;
  animation: ag-spin 0.7s linear infinite;
  flex-shrink: 0;
}

.ag-wizard-subtitle {
  margin-left: 10px;
  font-size: 12px;
  font-weight: 400;
  color: var(--label--color, #747480);
}:root {
  --ar-chip-danger-bg: rgba(226, 85, 78, 0.13);
  --ar-chip-danger-fg: #b33832;
  --ar-chip-warning-bg: rgba(227, 154, 28, 0.16);
  --ar-chip-warning-fg: #9a6200;
  --ar-ok-bg: #e7f4ec;
  --ar-ok-fg: #1b7a4b;
  --ar-dirty: #e39a1c;
  --ar-focus: #0f69ae;
  --ar-select-bg: #eaf2fb;
  --ar-flash-bg: #fff7b0;
  --ar-lane-border: #c4c4cc;
}

.motif-theme-dark {
  --ar-chip-danger-bg: rgba(226, 85, 78, 0.25);
  --ar-chip-danger-fg: #ff9a94;
  --ar-chip-warning-bg: rgba(227, 154, 28, 0.25);
  --ar-chip-warning-fg: #ffc766;
  --ar-ok-bg: rgba(34, 165, 101, 0.25);
  --ar-ok-fg: #7fdcaa;
  --ar-select-bg: rgba(53, 164, 232, 0.2);
  --ar-flash-bg: rgba(255, 230, 0, 0.25);
  --ar-lane-border: #5a5a66;
}

.ar-group-workspace {
  flex: 1;
  min-height: 0;
  display: flex;
  gap: 12px;
}

.ar-dirty-dot {
  width: 7px;
  height: 7px;
  flex-shrink: 0;
  border-radius: 50%;
  background: var(--ar-dirty);
}

.ar-dev-list-footer {
  font-size: 11px;
  color: var(--label--color, #747480);
}

.ar-board-map {
  flex: 1;
  min-width: 0;
  min-height: 0;
  display: flex;
  border: 1px solid var(--card--border-color, #e1e1e6);
  border-radius: 4px;
  overflow: hidden;
  background: var(--card--bg-color, #fff);
}
.ar-board-map__board {
  flex: 1;
  min-width: 360px;
  min-height: 0;
  display: flex;
}
.ar-board-map__splitter {
  width: 6px;
  flex-shrink: 0;
  cursor: col-resize;
  background: var(--card--border-color, #e1e1e6);
  background-clip: content-box;
  padding: 0 2px;
}
.ar-board-map__splitter:hover, .ar-board-map__splitter:focus-visible {
  background-color: var(--label--color, #9999a4);
  outline: none;
}
.ar-board-map__map {
  flex-shrink: 0;
  min-width: 280px;
  min-height: 0;
  display: flex;
}
.ar-board-map__board + .ar-board-map__splitter + .ar-board-map__map {
  flex-grow: 0;
}
.ar-board-map__map:only-child {
  flex: 1;
}
.ar-board-map > .ar-board-map__map > * {
  flex: 1;
  min-width: 0;
}

.ar-board {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.ar-board__head {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 10px 16px 4px;
}
.ar-board__title {
  display: flex;
  align-items: baseline;
  gap: 8px;
  min-width: 0;
  margin-right: auto;
}
.ar-board__title > h2.motif-body1-default-bold {
  margin: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ar-board__subtitle {
  font-size: 12px;
  font-weight: 600;
  color: var(--label--color, #747480);
}
.ar-board .library-tabs {
  padding: 0 12px;
}
.ar-board__body {
  flex: 1;
  min-height: 0;
  display: flex;
  gap: 12px;
  padding: 12px 16px;
  background: var(--body--bg-color, #f5f5f5);
}
.ar-board__empty {
  flex: 1;
  display: grid;
  place-items: center;
  color: var(--label--color, #747480);
}

.ar-enc-status {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 16px;
  font-size: 12px;
}
.ar-enc-status--error {
  color: var(--ar-chip-danger-fg);
}

.ar-lane {
  width: 240px;
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  background: var(--card--bg-color, #fff);
  border: 1.5px dashed var(--ar-lane-border);
  border-radius: 8px;
}
.ar-lane__head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 10px 12px 8px;
  font-weight: 700;
  font-size: 12.5px;
}
.ar-lane__count {
  margin-left: auto;
  font-weight: 400;
  font-size: 11px;
  color: var(--label--color, #747480);
}
.ar-lane__filter {
  padding: 0 10px 8px;
}
.ar-lane__list {
  flex: 1;
  overflow: auto;
  padding: 0 8px 8px;
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.ar-lane__empty {
  padding: 14px 8px;
  color: var(--label--color, #747480);
  font-size: 11.5px;
  line-height: 1.5;
  text-align: center;
}

.ar-cards {
  flex: 1;
  min-width: 0;
  overflow: auto;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  grid-auto-rows: min-content;
  align-content: start;
  gap: 12px;
  padding: 2px 2px 12px;
}

.ar-gcard {
  display: flex;
  flex-direction: column;
  background: var(--card--bg-color, #fff);
  border: 1px solid var(--card--border-color, #e1e1e6);
  border-radius: 8px;
  cursor: pointer;
}
.ar-gcard:hover {
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.08);
}
.ar-gcard--selected {
  box-shadow: 0 0 0 2px var(--text--color, #2e2e38);
}
.ar-gcard--locked {
  background: var(--body--bg-color, #fbfbfc);
}
.ar-gcard__head {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 4px 2px 11px;
}
.ar-gcard__dot {
  width: 10px;
  height: 10px;
  flex: none;
  border-radius: 50%;
  background: var(--ar-group-color, #999);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.18);
}
.ar-gcard__name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ar-gcard__actions {
  margin-left: auto;
  display: flex;
  flex: none;
  gap: 1px;
}
.ar-gcard__actions .motif-button {
  width: 22px;
  min-width: 0;
  height: 22px;
  min-height: 0;
  padding: 0;
  justify-content: center;
}
.ar-gcard__lock--on {
  color: var(--ar-chip-warning-fg);
}
.ar-gcard__summary {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  padding: 2px 11px 8px;
  font-size: 11px;
  color: var(--label--color, #747480);
}
.ar-gcard__enc {
  font-weight: 700;
  color: var(--ar-chip-danger-fg);
}
.ar-gcard__wells {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-height: 38px;
  padding: 0 6px 8px;
}
.ar-gcard__empty {
  padding: 10px;
  font-size: 11px;
  text-align: center;
  color: var(--label--color, #747480);
  border: 1px dashed var(--card--border-color, #d7d7dd);
  border-radius: 6px;
}
.ar-gcard--new {
  min-height: 110px;
  align-items: center;
  justify-content: center;
  padding: 12px;
  text-align: center;
  font-size: 11.5px;
  font-weight: 700;
  color: var(--label--color, #747480);
  background: transparent;
  border: 1.5px dashed var(--ar-lane-border);
  cursor: default;
}
.ar-gcard--new:hover {
  box-shadow: none;
}

.ar-tag {
  padding: 1px 6px;
  border-radius: 8px;
  font-size: 9.5px;
  font-weight: 800;
  background: var(--ar-ok-bg);
  color: var(--ar-ok-fg);
}

.ar-size {
  padding: 1px 7px;
  border-radius: 9px;
  font-size: 10.5px;
  font-weight: 800;
}
.ar-size--ok {
  background: var(--ar-ok-bg);
  color: var(--ar-ok-fg);
}
.ar-size--off, .ar-size--empty {
  background: var(--ar-chip-warning-bg);
  color: var(--ar-chip-warning-fg);
}

.ar-well {
  display: flex;
  align-items: center;
  gap: 7px;
  padding: 5px 7px;
  background: var(--card--bg-color, #fff);
  border: 1px solid var(--card--border-color, #ececef);
  border-radius: 5px;
  cursor: grab;
  user-select: none;
}
.ar-well:hover {
  border-color: var(--label--color, #bdbdc6);
}
.ar-well--selected {
  border-color: var(--ar-focus);
  background: var(--ar-select-bg);
}
.ar-well--locked {
  cursor: not-allowed;
}
.ar-well--dragging {
  opacity: 0.4;
}
.ar-well--drop-before {
  box-shadow: 0 -2px 0 0 var(--ar-focus);
}
.ar-well--flash {
  animation: ar-well-flash 1.2s;
}
.ar-well__grip {
  color: var(--label--color, #a8a8b2);
  font-size: 13px;
  line-height: 1;
}
.ar-well__text {
  display: flex;
  flex-direction: column;
  min-width: 0;
}
.ar-well__name {
  font-size: 11.5px;
  font-weight: 700;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ar-well__meta {
  margin-top: 1px;
  font-size: 10.5px;
  color: var(--label--color, #747480);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

@keyframes ar-well-flash {
  0%, 60% {
    background: var(--ar-flash-bg);
  }
}
.ar-drop-ok {
  outline: 2px solid var(--ar-focus);
  outline-offset: 2px;
}

.ar-drop-blocked {
  outline: 2px solid var(--ar-chip-danger-fg);
  outline-offset: 2px;
}

.ar-drag-ghost {
  position: absolute;
  top: -100px;
  padding: 6px 10px;
  border-radius: 5px;
  font-weight: 700;
  color: #fff;
  background: #2e2e38;
}

.ar-count-badge {
  min-width: 18px;
  height: 18px;
  margin-left: 6px;
  padding: 0 5px;
  display: inline-grid;
  place-items: center;
  border-radius: 9px;
  font-size: 10.5px;
  background: var(--ar-dirty);
  color: #2e2e38;
}

#ar-dev-groups .library-list__toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
#ar-dev-groups .library-list__toolbar .ar-dev-filters__search {
  flex: 2 1 160px;
  min-width: 0;
}
#ar-dev-groups .library-list__toolbar .ar-dev-filters__search input.motif-base-input {
  min-height: 30px;
  height: 30px;
  padding-top: 2px;
  padding-bottom: 2px;
}
#ar-dev-groups .library-list__toolbar motif-select {
  --sizing-44: 30px;
  --input-group-input-padding-vertical: 2px;
  flex: 1 1 110px;
  min-width: 0;
  height: 30px;
  overflow: hidden;
}
#ar-dev-groups .library-list__toolbar motif-select::part(listbox) {
  min-width: 250px;
}

#ar-dev-groups .library-list__resize {
  right: -12px;
  width: 10px;
}.asset-relationships-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 8px 24px 12px 8px;
  gap: 8px;
}
.asset-relationships-page .ar-page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
}
.asset-relationships-page .ar-sequence-field {
  width: 280px;
}
.asset-relationships-page .ar-header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.asset-relationships-page .ar-page-header__title {
  display: flex;
  align-items: center;
  gap: 16px;
  min-height: 40px;
}
.asset-relationships-page .ar-empty-tabs {
  padding: 12px 4px;
  color: var(--label--color, #747480);
  font-size: 13px;
}
.asset-relationships-page .ar-empty-tabs-link {
  color: #35a4e8;
  text-decoration: underline;
  cursor: pointer;
}/* Map pane */
.ar-gis-panel {
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  background: var(--card--bg-color, #fff);
  overflow: hidden;
}

.ar-gis-map {
  flex: 1;
  min-height: 0;
  position: relative;
  background: var(--body--bg-color, #eef3f6);
  overflow: hidden;
}

.ar-gis-svg {
  width: 100%;
  height: 100%;
  display: block;
}

.ar-gis-map-placeholder {
  position: absolute;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  font-size: 13px;
  font-weight: 700;
  color: var(--body--color, #5a5a6e);
}
.ar-gis-map-placeholder span {
  font-size: 10px;
  font-weight: 400;
  color: var(--label--color, #747480);
}

.ar-map-search {
  position: absolute;
  top: 10px;
  left: 10px;
  z-index: 20;
  width: 240px;
}
.ar-map-search__list {
  margin-top: 4px;
  display: flex;
  flex-direction: column;
  max-height: 260px;
  overflow: auto;
  background: var(--card--bg-color, #fff);
  border: 1px solid var(--card--border-color, #d7d7dd);
  border-radius: 6px;
  box-shadow: 0 6px 18px rgba(0, 0, 0, 0.14);
}
.ar-map-search__item {
  width: 100%;
  justify-content: flex-start;
}
.ar-map-search__name {
  font-weight: 700;
  margin-right: 8px;
}
.ar-map-search__dev {
  font-size: 11px;
  color: var(--label--color, #747480);
}

.ar-map-legend {
  position: absolute;
  left: 66px;
  bottom: 24px;
  z-index: 20;
  width: 250px;
  max-height: 45%;
  overflow: auto;
  padding: 8px 6px 6px;
  background: var(--card--bg-color, rgba(255, 255, 255, 0.96));
  border-radius: 6px;
  box-shadow: 0 1px 6px rgba(0, 0, 0, 0.25);
}
.ar-map-legend__title {
  margin: 0 4px 4px;
  font-size: 11px;
  font-weight: 800;
}
.ar-map-legend__row {
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0 2px 0 4px;
  font-size: 11px;
}
.ar-map-legend__row--hidden {
  opacity: 0.45;
}
.ar-map-legend__swatch {
  width: 16px;
  height: 4px;
  flex: none;
  border-radius: 2px;
  background: var(--ar-swatch);
}
.ar-map-legend__swatch--dashed {
  background: repeating-linear-gradient(90deg, var(--ar-swatch) 0 4px, transparent 4px 7px);
}
.ar-map-legend__label {
  flex: 1;
  min-width: 0;
  justify-content: flex-start;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.ar-map-legend__count {
  font-size: 10px;
  color: var(--label--color, #747480);
}

.ar-xs-hint {
  position: absolute;
  top: 56px;
  left: 50%;
  z-index: 20;
  transform: translateX(-50%);
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 4px 6px 4px 12px;
  white-space: nowrap;
  font-size: 12px;
  color: #fff;
  background: #2e2e38;
  border-radius: 6px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.ar-xs-hint motif-button {
  --btn-ghost-color: #ffe600;
}

.ar-xs-drawer {
  flex: 0 0 250px;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--card--border-color, #e1e1e6);
  background: var(--card--bg-color, #fff);
}
.ar-xs-drawer__head {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 6px 4px 12px;
  border-bottom: 1px solid var(--card--border-color, #ececef);
}
.ar-xs-drawer__title {
  font-size: 12px;
  font-weight: 800;
}
.ar-xs-drawer__meta {
  margin-right: auto;
  font-size: 11px;
  color: var(--label--color, #747480);
}
.ar-xs-drawer__body {
  flex: 1;
  min-height: 0;
  position: relative;
}

/* Save modal */
.ar-save-lead {
  font-size: 13px;
  margin: 0 0 6px;
}

.ar-save-sub {
  font-size: 11px;
  color: var(--label--color, #747480);
  margin: 0 0 16px;
}

.ar-save-options {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.ar-save-option {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  padding: 12px 14px;
  border: 2px solid var(--card--border-color, #e1e1e6);
  border-radius: 6px;
  cursor: pointer;
}
.ar-save-option.ar-save-option--selected {
  border-color: #f2d94e;
  background: rgba(242, 217, 78, 0.12);
}

.ar-save-option-title {
  display: block;
  font-size: 12px;
  font-weight: 700;
}

.ar-save-option-desc {
  display: block;
  font-size: 11px;
  color: var(--label--color, #747480);
  margin-top: 3px;
}

/* Encumbrance details modal (MotifModal hoists to root DOM, so these are top-level selectors). */
.ar-enc-details-modal .ar-enc-details-summary {
  font-size: 12px;
  line-height: 1.5;
  margin: 0 0 14px;
  color: var(--label--color, #747480);
}
.ar-enc-details-modal .ar-enc-details-empty {
  font-size: 12px;
  font-style: italic;
  color: var(--label--color, #747480);
}
.ar-enc-details-modal .ar-enc-details-pairs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.ar-enc-details-modal .ar-enc-details-pair {
  border: 1px solid var(--card--border-color, #e1e1e6);
  border-radius: 6px;
  padding: 10px 12px;
  background: var(--card--bg-color, #fff);
}
.ar-enc-details-modal .ar-enc-details-pair-title {
  font-size: 13px;
  font-weight: 700;
  margin-bottom: 8px;
}
.ar-enc-details-modal .ar-enc-details-sep {
  color: var(--label--color, #747480);
}
.ar-enc-details-modal .ar-enc-details-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.ar-enc-details-modal .ar-enc-details-feature {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  font-size: 12px;
}
.ar-enc-details-modal .ar-enc-details-feature-label {
  font-weight: 600;
}
.ar-enc-details-modal .ar-enc-details-at {
  color: var(--label--color, #747480);
}
.ar-enc-details-modal .ar-enc-details-segments {
  margin-left: auto;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 11px;
  color: var(--label--color, #747480);
  background: var(--card--background-color, rgba(127, 127, 127, 0.12));
}
.ar-enc-details-modal .ar-enc-details-crossings {
  flex: 1 1 100%;
  list-style: none;
  margin: 2px 0 0;
  padding: 0 0 0 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.ar-enc-details-modal .ar-enc-details-crossing {
  cursor: pointer;
  font-family: var(--font-family-monospace, monospace);
  font-size: 11px;
  padding: 1px 8px;
  border-radius: 10px;
  border: 1px solid var(--button--secondary-border-color, rgba(0, 140, 255, 0.4));
  color: var(--link--color, #155cb4);
  background: rgba(0, 140, 255, 0.08);
}
.ar-enc-details-modal .ar-enc-details-crossing:hover {
  background: rgba(0, 140, 255, 0.18);
}
.ar-enc-details-modal .ar-enc-details-badge {
  flex: 0 0 auto;
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  padding: 1px 7px;
  border-radius: 10px;
  background: rgba(127, 127, 140, 0.16);
  color: var(--body--color, #2e2e38);
}
.ar-enc-details-modal .ar-enc-badge--hard {
  background: rgba(214, 40, 40, 0.16);
  color: #b00020;
}
.ar-enc-details-modal .ar-enc-badge--soft {
  background: rgba(232, 140, 20, 0.18);
  color: #8a5a00;
}.copy-to-clipboard {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: all 0.2s ease;
  margin-left: 8px;
  color: #666;
}
.copy-to-clipboard:hover {
  color: #333;
  opacity: 0.8;
}
.copy-to-clipboard:focus {
  outline: 2px solid #007bff;
  outline-offset: 2px;
  border-radius: 2px;
}
.copy-to-clipboard.copied {
  color: #28a745;
}
.copy-to-clipboard.copied svg {
  animation: checkmark-pop 0.3s ease-in-out;
}
.copy-to-clipboard svg {
  display: block;
  width: 16px;
  height: 16px;
}

@keyframes checkmark-pop {
  0% {
    transform: scale(0.8);
    opacity: 0;
  }
  50% {
    transform: scale(1.2);
  }
  100% {
    transform: scale(1);
    opacity: 1;
  }
}.erp-inbound__location {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 6px 14px;
}

.erp-wizard__header {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.erp-wizard__steps {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
  font-weight: 400;
}
.erp-wizard__steps li {
  padding: 4px 10px;
  border: 1px solid var(--motif-border-color, #dedee2);
  border-radius: 14px;
  color: var(--motif-text-color-secondary, #747480);
}
.erp-wizard__steps li.is-done {
  color: var(--motif-text-color-primary, #2e2e38);
}
.erp-wizard__steps li.is-active {
  border-color: var(--motif-text-color-primary, #2e2e38);
  color: var(--motif-text-color-primary, #2e2e38);
  font-weight: 700;
}
.erp-wizard__body {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 320px;
}
.erp-wizard__choose {
  display: grid;
  grid-template-columns: 1.2fr 1fr;
  gap: 20px;
}
.erp-wizard__pane {
  display: flex;
  flex-direction: column;
  gap: 10px;
  min-width: 0;
}
.erp-wizard__template {
  padding: 12px 14px;
  border: 1px solid var(--motif-border-color, #dedee2);
  border-radius: 6px;
}
.erp-wizard__template ul {
  margin: 0;
  padding-left: 18px;
}
.erp-wizard__layout {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.erp-wizard__layout motif-select {
  min-width: 200px;
}
.erp-wizard__match, .erp-wizard__check, .erp-wizard__preview {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.erp-wizard__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.erp-wizard__table th,
.erp-wizard__table td {
  padding: 6px 8px;
  border-bottom: 1px solid var(--motif-border-color, #dedee2);
  text-align: left;
  vertical-align: middle;
}
.erp-wizard__table th {
  font-weight: 700;
}
.erp-wizard__table motif-select {
  min-width: 220px;
}
.erp-wizard__modes {
  display: flex;
  flex-wrap: wrap;
  gap: 24px;
}
.erp-wizard__footer {
  display: flex;
  align-items: center;
  gap: 10px;
  width: 100%;
}

.erp-metrics {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}
.erp-metrics div {
  display: flex;
  flex-direction: column;
  min-width: 140px;
  padding: 10px 14px;
  border: 1px solid var(--motif-border-color, #dedee2);
  border-radius: 6px;
}
.erp-metrics div.is-error {
  border-color: var(--motif-color-error, #c70117);
}
.erp-metrics strong {
  font-size: 18px;
}
.erp-metrics span {
  font-size: 12px;
  color: var(--motif-text-color-secondary, #747480);
}.data-sharing {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  padding: 16px 24px;
  gap: 16px;
}
.data-sharing__header {
  display: flex;
  align-items: center;
  gap: 12px;
}
.data-sharing__spacer {
  flex: 1;
}
.data-sharing__body {
  display: grid;
  grid-template-columns: 210px 1fr;
  gap: 24px;
  flex: 1;
  min-height: 0;
}
.data-sharing__nav {
  display: flex;
  flex-direction: column;
  border-right: 1px solid var(--motif-border-color, #dedee2);
  padding-right: 8px;
}
.data-sharing__nav-group {
  padding: 14px 12px 4px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--motif-text-color-secondary, #747480);
}
.data-sharing__nav-item {
  display: block;
  width: 100%;
  padding: 8px 12px;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: var(--motif-text-color-primary, #2e2e38);
  font: inherit;
  text-align: left;
  cursor: pointer;
}
.data-sharing__nav-item--child {
  padding-left: 24px;
}
.data-sharing__nav-item:hover {
  background: var(--motif-background-color-hover, #f3f3f5);
}
.data-sharing__nav-item.is-active {
  font-weight: 700;
  box-shadow: inset 3px 0 0 var(--motif-text-color-primary, #2e2e38);
  background: var(--motif-background-color-hover, #f3f3f5);
}
.data-sharing__content {
  min-width: 0;
  overflow: auto;
}
.data-sharing__view {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.data-sharing__muted {
  color: var(--motif-text-color-secondary, #747480);
}
.data-sharing__small {
  font-size: 13px;
  margin: 0;
}
.data-sharing__error {
  color: var(--motif-color-error, #c70117);
}
.data-sharing__section-head {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}
.data-sharing__section-head h3 {
  margin: 0;
}
.data-sharing__filters {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
}
.data-sharing__filters motif-select,
.data-sharing__filters motif-input {
  min-width: 180px;
}
.data-sharing__pager, .data-sharing__actions {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 10px;
}
.data-sharing__grid {
  width: 100%;
}
.data-sharing__two-line {
  display: flex;
  flex-direction: column;
  line-height: 1.3;
  padding-top: 6px;
}
.data-sharing__two-line span:last-child {
  font-size: 12px;
}
.data-sharing__row--selected {
  background: var(--motif-background-color-hover, #f3f3f5);
}
.data-sharing__code {
  font-family: Consolas, "Cascadia Mono", monospace;
  font-size: 12.5px;
  overflow-wrap: anywhere;
}
.data-sharing__sql {
  margin: 0;
  padding: 14px 16px;
  border-radius: 6px;
  background: #2e2e38;
  color: #f3f3f5;
  font: 13px/1.6 Consolas, "Cascadia Mono", monospace;
  overflow: auto;
}
.data-sharing__attention {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.data-sharing__attention h3 {
  margin: 0;
}

.data-sharing-tiles {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.data-sharing-tile {
  border: 1px solid var(--motif-border-color, #dedee2);
  border-top: 4px solid #2db757;
  border-radius: 6px;
  padding: 10px 14px;
  background: var(--motif-background-color-card, #fff);
}
.data-sharing-tile--amber {
  border-top-color: #e9a23b;
}
.data-sharing-tile--red {
  border-top-color: var(--motif-color-error, #c70117);
}
.data-sharing-tile--grey {
  border-top-color: var(--motif-border-color, #c3c3cb);
}
.data-sharing-tile__title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.6px;
  text-transform: uppercase;
  color: var(--motif-text-color-secondary, #747480);
}
.data-sharing-tile__summary {
  margin: 4px 0;
  font-size: 16px;
  font-weight: 700;
}
.data-sharing-tile__detail {
  font-size: 13px;
  color: var(--motif-text-color-secondary, #747480);
}

.data-sharing-stages {
  display: inline-flex;
  gap: 3px;
  vertical-align: middle;
}

.data-sharing-stage {
  display: inline-block;
  width: 16px;
  height: 7px;
  border-radius: 3px;
  background: var(--motif-border-color, #dedee2);
}
.data-sharing-stage--succeeded {
  background: #7fcb95;
}
.data-sharing-stage--failed {
  background: var(--motif-color-error, #c70117);
}
.data-sharing-stage--running {
  background: repeating-linear-gradient(90deg, #4f8fe0 0 3px, #a9c9ee 3px 6px);
}
.data-sharing-stage--canceled {
  background: #e9a23b;
}

.data-sharing-detail {
  border: 1px solid var(--motif-border-color, #dedee2);
  border-radius: 6px;
  padding: 14px 16px;
  background: var(--motif-background-color-card, #fff);
}
.data-sharing-detail__head {
  display: flex;
  align-items: center;
  gap: 10px;
}
.data-sharing-detail__head h3 {
  margin: 0;
}
.data-sharing-detail__failure {
  margin: 10px 0;
  padding: 10px 12px;
  border: 1px solid var(--motif-color-error, #c70117);
  border-radius: 6px;
}
.data-sharing-detail__failure pre {
  margin: 8px 0 0;
  white-space: pre-wrap;
  font-size: 12px;
  max-height: 240px;
  overflow: auto;
}
.data-sharing-detail__columns {
  display: grid;
  grid-template-columns: 1.2fr 0.8fr;
  gap: 24px;
}
.data-sharing-detail__links {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
}
.data-sharing-detail__rename {
  display: flex;
  flex-direction: column;
  gap: 8px;
  width: 100%;
}

.data-sharing-timeline {
  margin: 0;
  padding: 0;
  list-style: none;
}
.data-sharing-timeline li {
  display: grid;
  grid-template-columns: 22px 150px 1fr auto;
  align-items: center;
  gap: 8px;
  padding: 5px 0;
  font-size: 13px;
}
.data-sharing-timeline__message {
  grid-column: 2/-1;
  color: var(--motif-color-error, #c70117);
}

.data-sharing-feeds {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-bottom: 8px;
}
.data-sharing-feeds span {
  padding: 1px 8px;
  border: 1px solid var(--motif-border-color, #dedee2);
  border-radius: 4px;
  font-size: 12px;
}
.data-sharing-feeds span.is-mismatch {
  border-color: var(--motif-color-error, #c70117);
}

.data-sharing-layers {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.data-sharing-layer {
  display: flex;
  flex-direction: column;
  gap: 6px;
  border: 1px solid;
  border-radius: 6px;
  padding: 12px 14px;
}
.data-sharing-layer h3 {
  margin: 0;
}
.data-sharing-layer--gold {
  background: #fff8e1;
  border-color: #e9c46a;
}
.data-sharing-layer--silver {
  background: #f3f4f7;
  border-color: #c3c7d1;
}
.data-sharing-layer--bronze {
  background: #fbf0e8;
  border-color: #dfb48f;
}

.data-sharing-kv {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
}
.data-sharing-kv div {
  display: grid;
  grid-template-columns: 150px 1fr;
  gap: 12px;
  align-items: center;
}
.data-sharing-kv dt {
  color: var(--motif-text-color-secondary, #747480);
}
.data-sharing-kv dd {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
}

.data-sharing-settings {
  max-width: 980px;
}
.data-sharing-settings__toggle {
  display: flex;
  align-items: center;
  gap: 10px;
}
.data-sharing-settings__section h3 {
  margin: 0;
}
.data-sharing-settings__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px 24px;
  margin-top: 8px;
}
.data-sharing-settings__footer {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--motif-border-color, #dedee2);
}.logout-page {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 100vh;
}

.logout-container {
  max-width: 600px;
  padding: 2rem;
}

.logout-content {
  border-radius: 8px;
  padding: 3rem 2rem;
  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
  text-align: center;
}
.logout-content h1 {
  font-size: 2rem;
  margin-bottom: 1rem;
}
.logout-content p {
  font-size: 1rem;
  margin-bottom: 2rem;
}
.logout-content .logo-wrapper {
  display: block;
  overflow: hidden;
  margin-bottom: 1.5rem;
}
.logout-content .session-expired-message {
  background-color: #fff3cd;
  border: 1px solid #ffc107;
  border-radius: 4px;
  padding: 1rem;
  margin-bottom: 1.5rem;
}
.logout-content .session-expired-message p {
  margin: 0;
  color: #856404;
  font-size: 0.95rem;
}
.logout-content .home-button {
  background-color: #007bff;
  color: white;
  border: none;
  border-radius: 4px;
  padding: 0.75rem 2rem;
  font-size: 1rem;
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.2s;
}
.logout-content .home-button:hover {
  background-color: #0056b3;
}
.logout-content .home-button:active {
  background-color: #004085;
}
.logout-content .auto-redirect-section {
  margin-top: 2.5rem;
  padding-top: 2rem;
  border-top: 1px solid #e0e0e0;
}
.logout-content .auto-redirect-section .checkbox-label {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  cursor: pointer;
  font-size: 0.95rem;
  color: #555;
}
.logout-content .auto-redirect-section .checkbox-label input[type=checkbox] {
  cursor: pointer;
  width: 18px;
  height: 18px;
}
.logout-content .auto-redirect-section .checkbox-label span {
  user-select: none;
}
.logout-content .auto-redirect-section .countdown-text {
  margin-top: 1rem;
  margin-bottom: 0;
  font-size: 0.9rem;
  color: #666;
}
.logout-content .auto-redirect-section .countdown-text strong {
  color: #007bff;
  font-size: 1.1rem;
}.category-detail-panel {
  width: 100% !important;
  max-width: none !important;
  height: 100%;
  display: flex;
  flex-direction: column;
  margin: 0;
  flex: 1;
}
.category-detail-panel > motif-card-body,
.category-detail-panel > .motif-card-body {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  padding-top: 16px;
}
.category-detail-panel.category-detail-empty .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 60px 20px;
  color: var(--motif-text-color-secondary, #747480);
  text-align: center;
  height: 100%;
}
.category-detail-panel.category-detail-empty .empty-state h3 {
  margin: 0 0 8px 0;
  color: var(--motif-text-color-primary, #2e2e38);
}
.category-detail-panel.category-detail-empty .empty-state p {
  margin: 0;
  font-size: 0.875rem;
}
.category-detail-panel .category-detail-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding-bottom: 16px;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  margin-bottom: 16px;
  gap: 16px;
}
.category-detail-panel .category-detail-header .category-detail-title {
  flex: 1;
  min-width: 0;
}
.category-detail-panel .category-detail-header .category-detail-title .category-detail-name-row {
  display: flex;
  align-items: center;
  margin-bottom: 4px;
  min-width: 0;
}
.category-detail-panel .category-detail-header .category-detail-title .category-detail-name-row h2 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: var(--motif-text-color-primary);
  flex: 1;
  min-width: 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.category-detail-panel .category-detail-header .category-detail-title .category-detail-description {
  margin: 0;
  font-size: 0.875rem;
  color: var(--motif-text-color-secondary, #747480);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.category-detail-panel .category-detail-header .category-detail-title .category-detail-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin-top: 0.375rem;
}
.category-detail-panel .category-detail-header .category-detail-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-shrink: 0;
}
.category-detail-panel .category-detail-header .category-detail-actions .category-active-toggle {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-right: 8px;
  padding-right: 12px;
  border-right: 1px solid var(--motif-border-color, #e1e1e6);
}
.category-detail-panel .category-detail-header .category-detail-actions .category-active-toggle .toggle-label {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--motif-text-color-secondary, #747480);
}
.category-detail-panel .category-detail-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.category-detail-panel .category-detail-content .empty-equations {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 40px 20px;
  color: var(--motif-text-color-secondary, #747480);
  text-align: center;
}
.category-detail-panel .category-detail-content .empty-equations p {
  margin: 0 0 16px 0;
}
.category-detail-panel .equation-primary-action-btn {
  min-width: 112px;
  justify-content: center;
}
.category-detail-panel .equations-list {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.category-detail-panel .equation-card {
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 6px;
  background-color: var(--motif-background-color-card, #ffffff);
  transition: all 0.2s ease;
  overflow: hidden;
}
.category-detail-panel .equation-card:hover {
  border-color: var(--motif-border-color, #ccc);
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.06);
}
.category-detail-panel .equation-card .equation-card-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 12px 14px 8px 14px;
  gap: 8px;
}
.category-detail-panel .equation-card .equation-card-header .equation-card-info {
  flex: 1;
  min-width: 0;
}
.category-detail-panel .equation-card .equation-card-header .equation-card-info .equation-name {
  margin: 0;
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--motif-text-color-primary);
  display: flex;
  align-items: center;
  gap: 8px;
}
.category-detail-panel .equation-card .equation-card-header .equation-card-info .equation-name .group-equation-badge {
  display: inline-block;
  padding: 1px 6px;
  background-color: var(--motif-color-primary-light, #ffe6cc);
  border-radius: 12px;
  font-size: 0.6rem;
  font-weight: 600;
  color: var(--motif-color-primary-dark, #b35900);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  white-space: nowrap;
  flex-shrink: 0;
}
.category-detail-panel .equation-card .equation-card-header .equation-card-info .equation-description {
  font-size: 0.8rem;
  color: var(--motif-text-color-secondary, #747480);
  margin: 4px 0 0 0;
  font-style: italic;
}
.category-detail-panel .equation-card .equation-card-header .equation-actions {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}
.category-detail-panel .equation-card .equation-card-header .equation-actions .delete-button {
  color: #dc3545;
}
.category-detail-panel .equation-card .equation-card-header .equation-actions .delete-button:hover {
  background-color: #fee;
}
.category-detail-panel .equation-card .equation-card-formula {
  padding: 0 14px 12px 14px;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  margin-top: 4px;
  padding-top: 10px;
}
.category-detail-panel .equation-card .equation-card-formula .formula-variable {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #2e2e38);
  margin-bottom: 4px;
}
.category-detail-panel .equation-card .equation-card-formula .formula-expression {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 0.85rem;
  color: var(--motif-text-color-secondary, #747480);
  background-color: var(--motif-background-color, #f6f6fa);
  padding: 6px 10px;
  border-radius: 4px;
  margin: 4px 0;
  overflow-wrap: break-word;
  border: 1px solid var(--motif-border-color, #e1e1e6);
}
.category-detail-panel .equation-card .equation-card-formula .formula-unit {
  display: inline-block;
  margin-top: 4px;
  padding: 1px 8px;
  background-color: var(--motif-background-color-hover, #f0f0f5);
  border-radius: 10px;
  font-size: 0.7rem;
  font-weight: 500;
  color: var(--motif-text-color-secondary, #747480);
}
.category-detail-panel .equation-card .equation-card-formula .formula-description {
  font-size: 0.75rem;
  color: var(--motif-text-color-muted, #a1a1a6);
  margin: 6px 0 0 0;
}
.category-detail-panel .equation-card .equation-card-formula.empty {
  text-align: center;
}
.category-detail-panel .equation-card .equation-card-formula.empty .no-formula {
  font-size: 0.8rem;
  color: var(--motif-text-color-secondary, #747480);
  margin: 0;
  font-style: italic;
}

body.motif-theme-dark .category-detail-panel .category-detail-empty .empty-state h3 {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .category-detail-panel .category-detail-header {
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .category-detail-panel .equation-card {
  background-color: var(--motif-background-color-card, #23232f);
  border-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .category-detail-panel .equation-card:hover {
  border-color: var(--motif-border-color, #444);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-header .equation-card-info .equation-name {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-header .equation-card-info .equation-description {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-formula {
  border-top-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-formula .formula-variable {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-formula .formula-expression {
  background-color: var(--motif-background-color, #1a1a24);
  border-color: var(--motif-border-color, #33333e);
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-formula .formula-unit {
  background-color: var(--motif-background-color-hover, #2a2a35);
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-formula .formula-description {
  color: var(--motif-text-color-muted, #747480);
}
body.motif-theme-dark .category-detail-panel .equation-card .equation-card-formula.empty .no-formula {
  color: var(--motif-text-color-secondary, #a1a1a6);
}.category-test-panel {
  height: 100% !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.category-test-panel > motif-card-body,
.category-test-panel > .motif-card-body {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.category-test-panel .test-panel-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
}
.category-test-panel .empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  padding: 40px 20px;
  color: var(--motif-color-text-secondary, #666);
  text-align: center;
}
.category-test-panel .empty-state p {
  margin: 0;
}
.category-test-panel .evaluation-mode-indicator {
  padding: 8px 12px;
  background: var(--motif-semantic-surface-info);
  border-radius: 4px;
}
.category-test-panel .evaluation-mode-indicator .motif-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.category-test-panel .section-label {
  display: block;
  font-weight: 600;
  font-size: 0.9rem;
  margin-bottom: 12px;
  color: var(--motif-color-text);
}
.category-test-panel .subsection-label {
  font-weight: 600;
  font-size: 0.85rem;
  margin: 8px 0;
  color: var(--motif-semantic-text-subtle);
}
.category-test-panel .context-selection-section {
  padding: 16px;
  background: var(--motif-semantic-surface-subtle);
  border-radius: 6px;
  margin-bottom: 12px;
}
.category-test-panel .context-selection-section .form-group {
  margin-bottom: 16px;
}
.category-test-panel .context-selection-section .form-group:last-child {
  margin-bottom: 0;
}
.category-test-panel .context-selection-section .form-group label {
  display: block;
  font-weight: 500;
  font-size: 0.85rem;
  margin-bottom: 6px;
  color: var(--motif-semantic-text-default);
}
.category-test-panel .context-selection-section .form-group .field-help {
  display: block;
  font-size: 0.75rem;
  color: var(--motif-semantic-text-muted);
  margin-top: 4px;
}
.category-test-panel .context-selection-section .form-group .motif-input,
.category-test-panel .context-selection-section .form-group .motif-select {
  width: 100%;
}
.category-test-panel .context-selection-section .form-group .motif-select[multiple] {
  min-height: 100px;
}
.category-test-panel .extracted-variables-section {
  padding: 12px;
  background: var(--motif-semantic-surface-info, #e3f2fd);
  border-radius: 6px;
  margin-bottom: 16px;
}
.category-test-panel .extracted-variables-section .section-label {
  display: flex;
  align-items: center;
  gap: 8px;
}
.category-test-panel .extracted-variables-section .section-label .loading-indicator {
  font-size: 0.85rem;
  font-weight: normal;
  color: var(--motif-semantic-text-subtle);
}
.category-test-panel .extracted-variables-section .extracted-variables-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px;
  background: var(--motif-color-background, #fff);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-info .variable-name {
  font-family: "Monaco", "Courier New", monospace;
  font-size: 0.9rem;
  font-weight: 600;
  color: var(--motif-color-primary, #007bff);
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-info .variable-context {
  font-size: 0.75rem;
  color: var(--motif-semantic-text-muted);
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-value-display {
  display: flex;
  align-items: center;
  gap: 8px;
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-value-display .value-badge {
  font-family: "Monaco", "Courier New", monospace;
  font-size: 0.85rem;
  font-weight: 600;
  padding: 4px 8px;
  background: var(--motif-semantic-surface-success, #e8f5e9);
  color: var(--motif-semantic-text-success, #2e7d32);
  border-radius: 3px;
}
.category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-value-display .data-type-badge {
  font-size: 0.7rem;
  padding: 2px 6px;
  background: var(--motif-color-background-secondary, #f5f5f5);
  color: var(--motif-semantic-text-subtle);
  border-radius: 3px;
  text-transform: uppercase;
}
.category-test-panel .input-variables-section .input-variables-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row {
  display: grid;
  grid-template-columns: 140px 1fr;
  gap: 12px;
  align-items: center;
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-label {
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--motif-color-text, #000);
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-type-badge {
  font-size: 0.7rem;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: 600;
  width: fit-content;
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-type-badge.number {
  background: var(--motif-color-info-light, #e3f2fd);
  color: var(--motif-color-info, #1976d2);
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-type-badge.string {
  background: var(--motif-color-warning-light, #fff3e0);
  color: var(--motif-color-warning-dark, #e65100);
}
.category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label {
  font-weight: 500;
  font-size: 0.9rem;
  color: var(--motif-color-text, #000);
}
.category-test-panel .evaluate-button {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  font-weight: 600;
}
.category-test-panel .error-message {
  margin: 0;
}
.category-test-panel .results-section {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-height: 300px;
  max-height: 600px;
  overflow-y: auto;
  padding: 16px;
  background: var(--motif-color-background, #fff);
  border-radius: 6px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.category-test-panel .results-section .section-label.secondary {
  color: var(--motif-semantic-text-subtle);
  font-size: 0.85rem;
  margin-top: 16px;
}
.category-test-panel .results-section .results-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.category-test-panel .results-section .results-list .equation-result-group {
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 6px;
  padding: 12px;
  background: var(--motif-color-background-secondary, #fafafa);
}
.category-test-panel .results-section .results-list .equation-result-group .equation-result-name {
  margin: 0 0 10px 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--motif-color-primary, #2e2e38);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--motif-color-border, #e0e0e0);
}
.category-test-panel .results-section .results-list .result-item {
  padding: 12px;
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  background-color: var(--motif-color-background, #fff);
}
.category-test-panel .results-section .results-list .result-item.success {
  border-left: 4px solid var(--motif-color-success, #28a745);
  background-color: var(--motif-color-success-light, #f0fff4);
}
.category-test-panel .results-section .results-list .result-item.error {
  border-left: 4px solid var(--motif-color-error, #dc3545);
  background-color: var(--motif-color-error-light, #fff5f5);
}
.category-test-panel .results-section .results-list .result-item .result-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.category-test-panel .results-section .results-list .result-item .result-header .result-variable {
  font-size: 0.95rem;
  color: var(--motif-color-text, #000);
}
.category-test-panel .results-section .results-list .result-item .result-header .result-value {
  font-weight: 600;
  font-size: 1rem;
  color: var(--motif-color-success, #28a745);
}
.category-test-panel .results-section .results-list .result-item .result-header .result-error-badge {
  font-weight: 600;
  font-size: 0.85rem;
  color: var(--motif-color-error, #dc3545);
}
.category-test-panel .results-section .results-list .result-item .result-expression {
  display: block;
  font-family: "Courier New", Courier, monospace;
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
  margin-bottom: 4px;
}
.category-test-panel .results-section .results-list .result-item .result-error-message {
  margin: 8px 0 0 0;
  font-size: 0.85rem;
  color: var(--motif-color-error, #dc3545);
}
.category-test-panel .results-section .results-list .result-item .result-error-details {
  margin-top: 8px;
  padding: 10px;
  background: rgba(220, 53, 69, 0.05);
  border-radius: 4px;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code {
  display: inline-block;
  font-size: 0.75rem;
  font-weight: 600;
  padding: 2px 8px;
  border-radius: 3px;
  margin-bottom: 6px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  background: var(--motif-color-error-light, #ffe6e6);
  color: var(--motif-color-error, #dc3545);
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-entitytypenotfound {
  background: #fff3e0;
  color: #e65100;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-invalidfiltersyntax {
  background: #fce4ec;
  color: #c2185b;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-variablenotfound {
  background: #e8f5e9;
  color: #2e7d32;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-fieldnotfound {
  background: #e3f2fd;
  color: #1565c0;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-nomatchingdocuments {
  background: #fff8e1;
  color: #ff8f00;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-typeconversionerror {
  background: #f3e5f5;
  color: #7b1fa2;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-timeout {
  background: #ffebee;
  color: #c62828;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-code.error-code-databaseerror {
  background: #fafafa;
  color: #616161;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .result-error-message {
  margin: 4px 0;
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-suggestion {
  margin: 8px 0 0 0;
  padding: 8px 12px;
  background: var(--motif-color-info-light, #e3f2fd);
  border-radius: 4px;
  font-size: 0.8rem;
  color: var(--motif-color-info-dark, #0d47a1);
  border-left: 3px solid var(--motif-color-info, #2196f3);
}
.category-test-panel .results-section .results-list .result-item .result-error-details .error-suggestion strong {
  color: var(--motif-color-info, #2196f3);
}
.category-test-panel .results-section .input-variables-results-section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--motif-color-border-subtle, #e8e8e8);
}
.category-test-panel .results-section .input-variables-results-section .input-variables-results-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
}
.category-test-panel .results-section .input-variables-results-section .input-variables-results-list .input-variable-result-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 12px;
  background: var(--motif-color-background-subtle, #fafafa);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border-subtle, #e8e8e8);
}
.category-test-panel .results-section .input-variables-results-section .input-variables-results-list .input-variable-result-item .variable-name {
  font-size: 0.85rem;
  color: var(--motif-semantic-text-subtle, #757575);
  font-weight: 500;
}
.category-test-panel .results-section .input-variables-results-section .input-variables-results-list .input-variable-result-item .variable-value-code {
  font-family: "Monaco", "Courier New", monospace;
  font-size: 0.8rem;
  color: var(--motif-semantic-text-muted, #9e9e9e);
  background: transparent;
  padding: 2px 6px;
  border-radius: 3px;
}
.category-test-panel .results-section .no-results {
  text-align: center;
  padding: 20px;
  color: var(--motif-color-text-secondary, #666);
}
.category-test-panel .results-section .no-results p {
  margin: 0;
}

.motif-theme-dark .category-test-panel .extracted-variables-section {
  background: var(--motif-semantic-surface-info-dark, #1a2a3a);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .section-label {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .section-label .loading-indicator {
  color: var(--motif-semantic-text-subtle, #a0a0a0);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item {
  background: var(--motif-color-background, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-info .variable-name {
  color: var(--motif-color-primary-light, #66b3ff);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-info .variable-context {
  color: var(--motif-semantic-text-muted, #888);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-value-display .value-badge {
  background: var(--motif-semantic-surface-success-dark, #1a3a2a);
  color: var(--motif-semantic-text-success-light, #66bb6a);
}
.motif-theme-dark .category-test-panel .extracted-variables-section .extracted-variables-list .extracted-variable-item .variable-value-display .data-type-badge {
  background: var(--motif-color-background-secondary, #3a3a45);
  color: var(--motif-semantic-text-subtle, #a0a0a0);
}
.motif-theme-dark .category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-label {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-type-badge.number {
  background: rgba(25, 118, 210, 0.2);
  color: var(--motif-color-info-light, #64b5f6);
}
.motif-theme-dark .category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label-container .variable-type-badge.string {
  background: rgba(230, 81, 0, 0.2);
  color: var(--motif-color-warning-light, #ffb74d);
}
.motif-theme-dark .category-test-panel .input-variables-section .input-variables-list .variable-input-row .variable-label {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .category-test-panel .results-section {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .category-test-panel .results-section .results-list .result-item {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .category-test-panel .results-section .results-list .result-item.success {
  background-color: var(--motif-color-success-dark, #1a3a1a);
}
.motif-theme-dark .category-test-panel .results-section .results-list .result-item.error {
  background-color: var(--motif-color-error-dark, #3a1a1a);
}
.motif-theme-dark .category-test-panel .results-section .results-list .result-item .result-header .result-variable {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .category-test-panel .results-section .results-list .result-item .result-expression {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .category-test-panel .results-section .input-variables-results-section {
  border-top-color: var(--motif-color-border, #444);
}
.motif-theme-dark .category-test-panel .results-section .input-variables-results-section .input-variables-results-list .input-variable-result-item {
  background: var(--motif-color-background-subtle, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .category-test-panel .results-section .input-variables-results-section .input-variables-results-list .input-variable-result-item .variable-name {
  color: var(--motif-semantic-text-subtle, #a0a0a0);
}
.motif-theme-dark .category-test-panel .results-section .input-variables-results-section .input-variables-results-list .input-variable-result-item .variable-value-code {
  color: var(--motif-semantic-text-muted, #888);
}
.motif-theme-dark .category-test-panel .additional-info-section {
  margin-top: 16px;
  padding-top: 16px;
  border-top: 1px solid var(--motif-color-border, #e0e0e0);
}
.motif-theme-dark .category-test-panel .additional-info-section .info-label {
  font-size: 0.8rem;
  font-weight: 600;
  color: var(--motif-semantic-text-subtle);
  margin-bottom: 8px;
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.motif-theme-dark .category-test-panel .additional-info-section .info-content {
  font-size: 0.85rem;
  color: var(--motif-semantic-text-muted);
  padding: 8px;
  background: var(--motif-color-background-secondary);
  border-radius: 4px;
  font-family: "Monaco", "Courier New", monospace;
}.equation-slideout-sidebar {
  border-left: 1px solid var(--motif-border-color, #e1e1e6);
}
.equation-slideout-sidebar .p-sidebar-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
}
.equation-slideout-sidebar .p-sidebar-content {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: calc(100% - 60px);
  background-color: var(--motif-background-color, #fafafa);
}
.equation-slideout-sidebar .p-sidebar-close {
  color: var(--motif-text-color-secondary, #747480);
}
.equation-slideout-sidebar .p-sidebar-close:hover {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  color: var(--motif-text-color-primary, #1a1a24);
}
.equation-slideout-sidebar .equation-slideout-header h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #2e2e38);
}

.equation-slideout {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.equation-slideout .equation-slideout-body {
  flex: 1;
  overflow-y: auto;
  padding: 0 24px 24px 24px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.equation-slideout .equation-slideout-body .form-error {
  margin-bottom: 8px;
}
.equation-slideout .equation-slideout-body .form-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.equation-slideout .equation-slideout-body .form-section .section-title {
  margin: 0;
  font-size: 0.95rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #2e2e38);
  padding-bottom: 8px;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
}
.equation-slideout .equation-slideout-body .field-help {
  display: block;
  margin-top: 4px;
  font-size: 0.8rem;
  color: var(--motif-text-color-secondary, #747480);
}
.equation-slideout .equation-slideout-body .group-equation-section .field-help {
  margin-top: 2px;
}
.equation-slideout .equation-slideout-body .variable-link {
  background: none;
  border: none;
  color: var(--motif-color-primary, #007bff);
  text-decoration: underline;
  cursor: pointer;
  padding: 0 4px;
  font-size: inherit;
}
.equation-slideout .equation-slideout-body .variable-link:hover {
  color: var(--motif-color-primary-dark, #0056b3);
}
.equation-slideout .equation-slideout-body .expression-textarea {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9rem;
}
.equation-slideout .equation-slideout-body .context-variables-section {
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 8px;
  padding: 12px;
  background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
  border-left: 4px solid var(--motif-color-primary, #2e2e38);
}
.equation-slideout .equation-slideout-body .context-variables-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.equation-slideout .equation-slideout-body .context-variables-section .section-header label {
  font-weight: 600;
  font-size: 0.9rem;
  color: var(--motif-color-text, #000);
  margin: 0;
}
.equation-slideout .equation-slideout-body .context-variables-section .section-header .section-hint {
  font-size: 0.75rem;
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(220px, 1fr));
  gap: 8px;
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  background: white;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  overflow: hidden;
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip:hover {
  background: var(--motif-color-primary-light, #e3f2fd);
  border-color: var(--motif-color-primary, #2e2e38);
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-syntax {
  font-family: "Courier New", monospace;
  font-weight: 600;
  color: var(--motif-color-primary, #2e2e38);
  font-size: 0.85rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-info {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
  flex: 1;
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-name {
  font-size: 0.8rem;
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-source {
  font-size: 0.7rem;
  color: var(--motif-color-text-secondary, #666);
}
.equation-slideout .equation-slideout-body .ncalc-help-section {
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 4px;
  padding: 12px;
  background-color: var(--motif-color-background-secondary, #f9f9f9);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-header label {
  font-weight: 600;
  margin: 0;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content {
  margin-top: 12px;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tabs {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav {
  display: flex;
  gap: 2px;
  border-bottom: 2px solid var(--motif-color-border, #e0e0e0);
  flex-wrap: wrap;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav .help-tab-button {
  padding: 8px 14px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-weight: 500;
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
  transition: all 0.2s ease;
  margin-bottom: -2px;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav .help-tab-button:hover {
  color: var(--motif-color-primary, #007bff);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav .help-tab-button.active {
  color: var(--motif-color-primary, #007bff);
  border-bottom-color: var(--motif-color-primary, #007bff);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content {
  max-height: 350px;
  overflow-y: auto;
  padding: 10px;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category {
  margin-bottom: 20px;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category h6 {
  color: var(--motif-color-primary, #007bff);
  margin: 0 0 10px 0;
  font-weight: 600;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item {
  padding: 10px;
  margin-bottom: 10px;
  border-bottom: 1px solid var(--motif-color-border, #e0e0e0);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item:last-child {
  border-bottom: none;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 4px;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9rem;
  color: var(--motif-color-primary, #007bff);
  padding: 3px 6px;
  background-color: var(--motif-color-background, #fff);
  border-radius: 3px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol.clickable {
  cursor: pointer;
  transition: all 0.2s ease;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol.clickable:hover {
  background-color: var(--motif-color-primary-light, #e3f2fd);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-name {
  font-weight: 500;
  color: var(--motif-color-text-secondary, #666);
  font-size: 0.85rem;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-description {
  margin: 4px 0;
  font-size: 0.85rem;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-example {
  margin: 4px 0 0 0;
  font-size: 0.8rem;
  color: var(--motif-color-success, #28a745);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-example strong {
  color: var(--motif-color-text, #000);
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters {
  margin-top: 6px;
  font-size: 0.8rem;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters summary {
  cursor: pointer;
  color: var(--motif-color-info, #17a2b8);
  font-weight: 500;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters ul {
  margin: 6px 0 0 20px;
  padding: 0;
}
.equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters ul li {
  margin: 3px 0;
  color: var(--motif-color-text-secondary, #666);
}
.equation-slideout .equation-slideout-body .lookup-help-intro {
  margin-bottom: 12px;
  padding: 10px;
  background: linear-gradient(135deg, #e8f4fd 0%, #d4e8f9 100%);
  border-radius: 6px;
  border-left: 4px solid var(--motif-color-info, #17a2b8);
}
.equation-slideout .equation-slideout-body .entity-types-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 6px;
}
.equation-slideout .equation-slideout-body .entity-types-grid .entity-type-chip {
  padding: 4px 10px;
  background: var(--motif-color-background, #fff);
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 16px;
  font-family: "Courier New", monospace;
  font-size: 0.8rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.equation-slideout .equation-slideout-body .entity-types-grid .entity-type-chip:hover {
  background: var(--motif-color-primary-light, #e3f2fd);
  border-color: var(--motif-color-primary, #007bff);
}
.equation-slideout .equation-slideout-body .filter-operators-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 6px;
}
.equation-slideout .equation-slideout-body .filter-operators-list .help-item.compact {
  padding: 6px;
  margin-bottom: 0;
  border-bottom: none;
  background: var(--motif-color-background, #fff);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.equation-slideout .equation-slideout-body .filter-operators-list .help-item.compact .help-item-header {
  margin-bottom: 2px;
}
.equation-slideout .equation-slideout-body .filter-operators-list .help-item.compact .help-item-header .help-symbol {
  font-size: 0.8rem;
  padding: 2px 4px;
}
.equation-slideout .equation-slideout-body .filter-operators-list .help-item.compact .help-item-header .help-name {
  font-size: 0.75rem;
}
.equation-slideout .equation-slideout-body .filter-operators-list .help-item.compact .help-example {
  margin: 0;
  font-size: 0.7rem;
}
.equation-slideout .equation-slideout-body .filter-operators-list .help-item.compact .help-example code {
  color: var(--motif-color-text-secondary, #666);
}
.equation-slideout .equation-slideout-body .expression-analysis {
  padding: 12px;
  background-color: var(--motif-color-background-secondary, #f9f9f9);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.equation-slideout .equation-slideout-body .expression-analysis h6 {
  margin: 0 0 8px 0;
  font-weight: 600;
  font-size: 0.85rem;
}
.equation-slideout .equation-slideout-body .expression-analysis .analysis-content p {
  margin: 0;
  font-size: 0.85rem;
}
.equation-slideout .equation-slideout-body .expression-analysis .analysis-content p .dependencies {
  color: var(--motif-color-info, #17a2b8);
  font-family: "Courier New", Courier, monospace;
}
.equation-slideout .equation-slideout-body .expression-analysis .analysis-content p .no-dependencies {
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
}
.equation-slideout .equation-slideout-body .lookup-validation-section {
  padding: 12px;
  background-color: var(--motif-color-background-secondary, #f9f9f9);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 10px;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-header h6 {
  margin: 0;
  font-weight: 600;
  font-size: 0.85rem;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item {
  padding: 10px;
  border-radius: 6px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  background: var(--motif-color-background, #fff);
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item.valid {
  border-left: 4px solid var(--motif-color-success, #28a745);
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item.invalid {
  border-left: 4px solid var(--motif-color-error, #dc3545);
  background: #fff5f5;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .lookup-expression {
  margin-bottom: 6px;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .lookup-expression code {
  font-size: 0.8rem;
  background: var(--motif-color-background-secondary, #f5f5f5);
  padding: 3px 6px;
  border-radius: 4px;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success,
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error {
  display: flex;
  align-items: center;
  gap: 6px;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success .status-icon,
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error .status-icon {
  font-size: 1rem;
  font-weight: bold;
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success {
  color: var(--motif-color-success, #28a745);
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success .validation-details {
  font-size: 0.8rem;
  color: var(--motif-color-text-secondary, #666);
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error {
  color: var(--motif-color-error, #dc3545);
}
.equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error .error-message {
  font-size: 0.8rem;
}
.equation-slideout .equation-slideout-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
  flex-shrink: 0;
}

body.motif-theme-dark .equation-slideout-sidebar {
  border-left-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .equation-slideout-sidebar .p-sidebar-header {
  background-color: #2a2a36;
  border-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .equation-slideout-sidebar .p-sidebar-content {
  background-color: #2a2a36;
}
body.motif-theme-dark .equation-slideout-sidebar .p-sidebar-close {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .equation-slideout-sidebar .p-sidebar-close:hover {
  background-color: var(--motif-background-color-hover, #2a2a35);
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .equation-slideout-sidebar .equation-slideout-header h2 {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .equation-slideout .equation-slideout-footer {
  background-color: #2a2a36;
  border-top-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .field-help {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body label,
body.motif-theme-dark .equation-slideout .equation-slideout-body .motif-label,
body.motif-theme-dark .equation-slideout .equation-slideout-body .motif-form-field label {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .form-section .section-title {
  color: var(--motif-text-color-primary, #ffffff);
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section {
  background: linear-gradient(135deg, #1a1a2e 0%, #1a2035 100%);
  border-color: var(--motif-color-border, #444);
  border-left-color: var(--motif-color-primary, #5c6bc0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .section-header label {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .section-header .section-hint {
  color: var(--motif-text-color-secondary, #999);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip:hover {
  background: var(--motif-color-primary-dark, #1a4d8f);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-syntax {
  color: var(--motif-color-primary-light, #7986cb);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-name {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-source {
  color: var(--motif-text-color-secondary, #999);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section {
  background-color: var(--motif-color-background-secondary, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section .ncalc-help-header label {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section .help-tab-content .help-category .help-item {
  border-bottom-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section .help-tab-content .help-category .help-item .help-item-header .help-symbol {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section .help-tab-content .help-category .help-item .help-item-header .help-symbol.clickable:hover {
  background-color: var(--motif-color-primary-dark, #1a4d8f);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section .help-tab-content .help-category .help-item .help-item-header .help-name {
  color: var(--motif-text-color-secondary, #999);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .ncalc-help-section .help-tab-content .help-category .help-item .help-description {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .expression-analysis {
  background-color: var(--motif-color-background-secondary, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .expression-analysis h6 {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .expression-analysis .analysis-content p {
  color: var(--motif-text-color-primary, #e0e0e0);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .expression-analysis .analysis-content p .no-dependencies {
  color: var(--motif-text-color-secondary, #999);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .lookup-validation-section {
  background-color: var(--motif-color-background-secondary, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-item {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
body.motif-theme-dark .equation-slideout .equation-slideout-body .lookup-validation-section .lookup-validation-item.invalid {
  background: rgba(244, 67, 54, 0.1);
}.equation-manager {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  flex: 1;
  background-color: var(--body--bg-color);
  box-sizing: border-box;
  overflow: hidden;
}
.equation-manager .equation-manager-header {
  display: flex;
  flex-direction: column;
  background-color: var(--motif-background-color-card, #ffffff);
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  flex-shrink: 0;
}
.equation-manager .equation-manager-header .equation-manager-header-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1rem;
  min-height: 32px;
  padding: 0.75rem 1rem 0.5rem;
}
.equation-manager .equation-source-selector {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  padding: 0 1rem;
}
.equation-manager .equation-source-selector .equation-scope-tabs {
  flex: 0 0 auto;
}
.equation-manager .equation-source-selector .equation-scenario-select {
  margin-left: 0.25rem;
  margin-bottom: 0.5rem;
  width: 360px;
  min-width: 320px;
  max-width: 420px;
}
.equation-manager .equation-source-selector .equation-scenario-select .motif-select-clean-value {
  display: none;
}
.equation-manager .equation-source-selector .equation-scenario-select .motif-select-input-text {
  max-width: calc(100% - 2rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.equation-manager .equation-header-actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 0 0 auto;
}
.equation-manager .equation-primary-action-btn {
  min-width: 112px;
  justify-content: center;
}
.equation-manager .eq-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.03125rem 0.375rem;
  border-radius: 999px;
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  flex-shrink: 0;
}
.equation-manager .eq-badge--override {
  background-color: rgba(245, 158, 11, 0.15);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.4);
}
.equation-manager .eq-badge--new {
  background-color: rgba(34, 197, 94, 0.15);
  color: #15803d;
  border: 1px solid rgba(34, 197, 94, 0.4);
}
.equation-manager .eq-badge--inherited {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  color: var(--motif-text-color-secondary, #747480);
  border: 1px solid var(--motif-border-color, #e1e1e6);
}
.equation-manager .eq-badge--config {
  background-color: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  border: 1px solid rgba(99, 102, 241, 0.3);
}
.equation-manager .eq-badge--tenant {
  background-color: rgba(14, 116, 144, 0.12);
  color: #0f766e;
  border: 1px solid rgba(14, 116, 144, 0.3);
}
.equation-manager .equation-manager-content {
  flex: 1;
  min-height: 0;
  width: 100%;
  display: flex;
}
.equation-manager .equation-manager-content .p-splitter {
  border: none;
  background: transparent;
  width: 100%;
  height: 100%;
  flex: 1;
}
.equation-manager .equation-manager-content .p-splitter .p-splitter-gutter {
  background: var(--motif-border-color, #e1e1e6);
}
.equation-manager .equation-manager-content .p-splitter .p-splitter-panel {
  overflow: hidden;
}
.equation-manager .equation-manager-content .category-list-splitter-panel.p-splitter-panel {
  overflow: visible;
}
.equation-manager .equation-manager-content .category-list-splitter-panel {
  height: 100%;
  width: 100%;
  overflow: hidden;
  transition: flex-basis 0.2s ease;
}
.equation-manager .equation-manager-content .category-list-splitter-panel > * {
  height: 100%;
  width: 100%;
}
.equation-manager .equation-manager-content .category-list-splitter-panel.collapsed {
  min-width: 48px !important;
  max-width: 48px !important;
}
.equation-manager .equation-manager-content .category-detail-splitter-panel {
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.equation-manager .equation-manager-content .category-detail-splitter-panel > * {
  height: 100%;
  width: 100%;
}
.equation-manager .equation-manager-content .category-list-container {
  height: 100%;
  overflow: visible;
  position: relative;
  border-right: 1px solid var(--motif-border-color, #e1e1e6);
}
.equation-manager .equation-manager-content .category-list-container.collapsed {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 16px;
  border-right: none;
}
.equation-manager .equation-manager-content .collapse-toggle-btn {
  position: absolute;
  top: 16px;
  right: -14px;
  width: 28px;
  height: 28px;
  background: var(--motif-background-color-card, #ffffff);
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  transition: transform 0.2s ease, background-color 0.15s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 0;
}
.equation-manager .equation-manager-content .collapse-toggle-btn:hover {
  background-color: var(--motif-background-color-hover, #f5f5f5);
}
.equation-manager .equation-manager-content .collapse-toggle-btn .motif-icon {
  width: 16px;
  height: 16px;
  color: var(--motif-text-color-secondary, #7f7f91);
  transition: transform 0.2s ease;
}
.equation-manager .equation-manager-content .collapse-toggle-btn.collapsed {
  position: static;
  right: auto;
  margin-top: 0;
  border: 1px solid var(--motif-border-color, #e1e1e6);
}
.equation-manager .equation-manager-content .collapse-toggle-btn.collapsed .motif-icon {
  transform: rotate(180deg);
}
.equation-manager.loading, .equation-manager.error {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 400px;
}
.equation-manager.loading .loading-message,
.equation-manager.loading .error-message, .equation-manager.error .loading-message,
.equation-manager.error .error-message {
  font-size: 1.1rem;
  color: var(--motif-color-text-secondary, #666);
}
.equation-manager.loading .error-message, .equation-manager.error .error-message {
  color: var(--motif-color-error, #dc3545);
  margin-bottom: 16px;
}

.category-list-panel {
  height: 100% !important;
  width: 100% !important;
  display: flex;
  flex-direction: column;
  padding: 0px 16px 0px 0px !important;
}
.category-list-panel.motif-card-orientation-vertical {
  max-width: 100%;
  height: 100% !important;
}
.category-list-panel.motif-card-border {
  border: none;
  height: 100% !important;
}
.category-list-panel motif-card-body,
.category-list-panel .motif-card-body {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.category-list-panel .category-list-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.category-list-panel .category-search {
  margin-bottom: 0.75rem;
  flex-shrink: 0;
}
.category-list-panel .category-filter-buttons {
  gap: 6px;
  margin-bottom: 1rem;
  flex-shrink: 0;
}
.category-list-panel .category-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
}
.category-list-panel .category-item {
  display: flex;
  flex-direction: column;
  padding: var(--list-card-padding);
  cursor: pointer;
  margin-bottom: var(--list-card-gap);
  box-sizing: border-box;
  border: 1px solid var(--library-card-border);
  border-radius: var(--library-card-radius);
  background: var(--library-card-bg);
  transition: background-color 0.15s, border-color 0.15s;
}
.category-list-panel .category-item:hover {
  background: var(--library-card-bg-hover);
  border-color: var(--library-card-border-hover);
}
.category-list-panel .category-item:focus-visible {
  outline: 2px solid var(--library-focus);
  outline-offset: 2px;
}
.category-list-panel .category-item.active, .category-list-panel .category-item.active:hover {
  border-color: var(--library-card-border-selected);
  background: var(--library-card-bg-selected);
}
.category-list-panel .category-item .category-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: var(--list-card-header-min-height);
  margin-bottom: var(--list-card-header-mb);
}
.category-list-panel .category-item .category-item-header .category-item-name-row {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  flex: 1;
  min-width: 0;
  margin-right: 0.5rem;
}
.category-list-panel .category-item .category-item-header .category-item-name-row .category-name {
  font-size: var(--list-card-name-size);
  font-weight: var(--list-card-name-weight);
  color: var(--list-card-name-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex-shrink: 1;
  min-width: 0;
}
.category-list-panel .category-item .category-item-header > .category-name {
  font-weight: 500;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  margin-right: 0.5rem;
}
.category-list-panel .category-item .category-item-meta {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
}
.category-list-panel .category-item .category-item-meta .meta-label {
  color: var(--motif-text-color-muted, #a1a1a6);
}
.category-list-panel .category-item .category-item-meta .meta-description {
  display: block;
  width: 100%;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.category-list-panel .category-item .category-item-meta .category-item-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  width: 100%;
  margin-top: 0.125rem;
}
.category-list-panel .category-menu-container {
  position: relative;
  margin-left: 0.25rem;
  flex-shrink: 0;
}
.category-list-panel .category-menu-container .category-menu-btn {
  padding: 0.125rem;
  min-width: auto;
  color: var(--motif-text-color-secondary, #747480);
}
.category-list-panel .category-menu-container .category-menu-btn:hover {
  background-color: var(--motif-background-color-hover, #e8e8ed);
  color: var(--motif-text-color-primary, #1a1a24);
}
.category-list-panel .category-menu-container .motif-dropdown-item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.category-list-panel .category-list-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 1rem;
  padding: 2rem;
  color: var(--motif-text-color-secondary, #747480);
}
.category-list-panel .category-list-empty {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}

.category-form-sidebar,
.category-test-sidebar {
  border-left: 1px solid var(--motif-border-color, #e1e1e6);
}
.category-form-sidebar .p-sidebar-header,
.category-test-sidebar .p-sidebar-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
}
.category-form-sidebar .p-sidebar-content,
.category-test-sidebar .p-sidebar-content {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: calc(100% - 60px);
  background-color: var(--motif-background-color, #fafafa);
}
.category-form-sidebar .p-sidebar-close,
.category-test-sidebar .p-sidebar-close {
  color: var(--motif-text-color-secondary, #747480);
}
.category-form-sidebar .p-sidebar-close:hover,
.category-test-sidebar .p-sidebar-close:hover {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  color: var(--motif-text-color-primary, #1a1a24);
}

.category-form-panel-header h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
}

.category-form-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.category-form-panel .category-form-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}
.category-form-panel .category-form-body .form-error {
  margin-bottom: 1rem;
}
.category-form-panel .category-form-body .motif-form-field {
  margin-bottom: 1rem;
}
.category-form-panel .category-form-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
  flex-shrink: 0;
}

.category-test-panel-header h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
}

.category-test-sidebar .category-test-panel {
  border: none;
  box-shadow: none;
  height: 100%;
  padding: 0;
}
.category-test-sidebar .category-test-panel.motif-card-orientation-vertical {
  max-width: 100%;
}
.category-test-sidebar .category-test-panel.motif-card-border {
  border: none;
}
.category-test-sidebar .category-test-panel motif-card-body,
.category-test-sidebar .category-test-panel .motif-card-body {
  padding: 1.5rem;
}

.category-detail-panel {
  padding: 0px 0px 0px 16px !important;
  border: 0px !important;
}

body.motif-theme-dark .equation-manager {
  background-color: var(--motif-background-color, #1a1a24);
}
body.motif-theme-dark .equation-manager-header {
  background-color: var(--motif-background-color-card, #23232f);
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .equation-manager-header .equation-manager-header-title {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .category-list-panel {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .category-list-panel motif-card-header,
body.motif-theme-dark .category-list-panel motif-card-body,
body.motif-theme-dark .category-list-panel .motif-card-header,
body.motif-theme-dark .category-list-panel .motif-card-body {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .category-list-container {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .category-detail-panel {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .category-detail-panel motif-card-header,
body.motif-theme-dark .category-detail-panel motif-card-body,
body.motif-theme-dark .category-detail-panel .motif-card-header,
body.motif-theme-dark .category-detail-panel .motif-card-body {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .collapse-toggle-btn {
  background: var(--motif-background-color-card, #23232f);
  border-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .collapse-toggle-btn:hover {
  background-color: var(--motif-background-color-hover, #2a2a35);
}
body.motif-theme-dark .collapse-toggle-btn .motif-icon {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .p-splitter-gutter {
  background: var(--motif-border-color, #33333e) !important;
}
body.motif-theme-dark .category-form-sidebar,
body.motif-theme-dark .category-test-sidebar {
  border-left-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .category-form-sidebar .p-sidebar-header,
body.motif-theme-dark .category-form-sidebar .category-form-footer,
body.motif-theme-dark .category-test-sidebar .p-sidebar-header,
body.motif-theme-dark .category-test-sidebar .category-form-footer {
  background-color: var(--motif-background-color-card, #23232f);
  border-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .category-form-sidebar .p-sidebar-content,
body.motif-theme-dark .category-test-sidebar .p-sidebar-content {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .category-form-sidebar .p-sidebar-close,
body.motif-theme-dark .category-test-sidebar .p-sidebar-close {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .category-form-sidebar .p-sidebar-close:hover,
body.motif-theme-dark .category-test-sidebar .p-sidebar-close:hover {
  background-color: var(--motif-background-color-hover, #2a2a35);
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .category-form-panel-header h2,
body.motif-theme-dark .category-test-panel-header h2 {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .category-form-panel .category-form-footer {
  background-color: var(--motif-background-color-card, #23232f);
  border-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .equation-source-selector .equation-source-label {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .equation-source-selector .equation-source-btn {
  background-color: var(--motif-background-color, #1a1a24);
  border-color: var(--motif-border-color, #33333e);
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .equation-source-selector .equation-source-btn:hover:not(.active) {
  background-color: var(--motif-background-color-hover, #2a2a35);
  border-color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .equation-source-selector .equation-source-btn.active {
  background-color: var(--motif-component-background-primary, #ffe600);
  color: #2e2e38;
  border-color: var(--motif-component-background-primary, #ffe600);
}
body.motif-theme-dark .eq-badge--inherited {
  background-color: rgba(161, 161, 166, 0.15);
  color: #a1a1a6;
  border-color: rgba(161, 161, 166, 0.3);
}
body.motif-theme-dark .eq-badge--config {
  background-color: rgba(129, 140, 248, 0.15);
  color: #a5b4fc;
  border-color: rgba(129, 140, 248, 0.3);
}.equation-modal .equation-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 8px 0;
}
.equation-modal .field-help {
  display: block;
  margin-top: 6px;
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
}
.equation-modal .group-equation-section {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 16px;
  border: 1px solid var(--motif-color-border-default, #e0e0e0);
  border-radius: 6px;
  background: var(--motif-color-surface-alt, #fafafa);
}
.equation-modal .modal-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  width: 100%;
}.expression-modal .motif-modal-content {
  max-width: 900px;
}
.expression-modal .equation-form {
  display: flex;
  flex-direction: column;
  gap: 20px;
  padding: 8px 0;
}
.expression-modal .field-help {
  display: block;
  margin-top: 6px;
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
}
.expression-modal .variable-link {
  background: none;
  border: none;
  color: var(--motif-color-primary, #007bff);
  text-decoration: underline;
  cursor: pointer;
  padding: 0 4px;
  font-size: inherit;
}
.expression-modal .variable-link:hover {
  color: var(--motif-color-primary-dark, #0056b3);
}
.expression-modal .expression-textarea {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.9rem;
}
.expression-modal .context-variables-section {
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 8px;
  padding: 16px;
  background: linear-gradient(135deg, #f8f9ff 0%, #f0f4ff 100%);
  border-left: 4px solid var(--motif-color-primary, #2e2e38);
}
.expression-modal .context-variables-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.expression-modal .context-variables-section .section-header label {
  font-weight: 600;
  font-size: 0.95rem;
  color: var(--motif-color-text, #000);
  margin: 0;
}
.expression-modal .context-variables-section .section-header .section-hint {
  font-size: 0.8rem;
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
}
.expression-modal .context-variables-section .context-variables-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 10px;
}
.expression-modal .context-variables-section .context-variables-grid .context-variable-chip {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  background: white;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  overflow: hidden;
}
.expression-modal .context-variables-section .context-variables-grid .context-variable-chip:hover {
  background: var(--motif-color-primary-light, #e3f2fd);
  border-color: var(--motif-color-primary, #2e2e38);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-syntax {
  font-family: "Courier New", monospace;
  font-weight: 600;
  color: var(--motif-color-primary, #2e2e38);
  font-size: 0.9rem;
  white-space: nowrap;
  flex-shrink: 0;
}
.expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--motif-color-text, #000);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-source {
  font-size: 0.75rem;
  color: var(--motif-color-text-secondary, #666);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.expression-modal .ncalc-help-section {
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 4px;
  padding: 16px;
  background-color: var(--motif-color-background-secondary, #f9f9f9);
}
.expression-modal .ncalc-help-section .ncalc-help-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.expression-modal .ncalc-help-section .ncalc-help-header label {
  font-weight: 600;
  margin: 0;
}
.expression-modal .ncalc-help-section .ncalc-help-content {
  margin-top: 16px;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tabs {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav {
  display: flex;
  gap: 4px;
  border-bottom: 2px solid var(--motif-color-border, #e0e0e0);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav .help-tab-button {
  padding: 10px 20px;
  background: none;
  border: none;
  border-bottom: 2px solid transparent;
  cursor: pointer;
  font-weight: 500;
  color: var(--motif-color-text-secondary, #666);
  transition: all 0.2s ease;
  margin-bottom: -2px;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav .help-tab-button:hover {
  color: var(--motif-color-primary, #007bff);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tabs .help-tab-nav .help-tab-button.active {
  color: var(--motif-color-primary, #007bff);
  border-bottom-color: var(--motif-color-primary, #007bff);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content {
  max-height: 400px;
  overflow-y: auto;
  padding: 12px;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category {
  margin-bottom: 24px;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category h6 {
  color: var(--motif-color-primary, #007bff);
  margin: 0 0 12px 0;
  font-weight: 600;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item {
  padding: 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid var(--motif-color-border, #e0e0e0);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item:last-child {
  border-bottom: none;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 6px;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol {
  font-family: "Courier New", Courier, monospace;
  font-size: 0.95rem;
  color: var(--motif-color-primary, #007bff);
  padding: 4px 8px;
  background-color: var(--motif-color-background, #fff);
  border-radius: 3px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol.clickable {
  cursor: pointer;
  transition: all 0.2s ease;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol.clickable:hover {
  background-color: var(--motif-color-primary-light, #e3f2fd);
  transform: scale(1.02);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-name {
  font-weight: 500;
  color: var(--motif-color-text-secondary, #666);
  font-size: 0.9rem;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-description {
  margin: 6px 0;
  font-size: 0.9rem;
  color: var(--motif-color-text, #000);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-example {
  margin: 6px 0 0 0;
  font-size: 0.85rem;
  color: var(--motif-color-success, #28a745);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-example strong {
  color: var(--motif-color-text, #000);
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters {
  margin-top: 8px;
  font-size: 0.85rem;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters summary {
  cursor: pointer;
  color: var(--motif-color-info, #17a2b8);
  font-weight: 500;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters summary:hover {
  text-decoration: underline;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters ul {
  margin: 8px 0 0 20px;
  padding: 0;
}
.expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-parameters ul li {
  margin: 4px 0;
  color: var(--motif-color-text-secondary, #666);
}
.expression-modal .expression-analysis {
  padding: 16px;
  background-color: var(--motif-color-background-secondary, #f9f9f9);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.expression-modal .expression-analysis h6 {
  margin: 0 0 12px 0;
  font-weight: 600;
}
.expression-modal .expression-analysis .analysis-content p {
  margin: 0;
  font-size: 0.9rem;
}
.expression-modal .expression-analysis .analysis-content p strong {
  font-weight: 600;
}
.expression-modal .expression-analysis .analysis-content p .dependencies {
  color: var(--motif-color-info, #17a2b8);
  font-family: "Courier New", Courier, monospace;
}
.expression-modal .expression-analysis .analysis-content p .no-dependencies {
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
}
.expression-modal .lookup-help-intro {
  margin-bottom: 16px;
  padding: 12px;
  background: linear-gradient(135deg, #e8f4fd 0%, #d4e8f9 100%);
  border-radius: 6px;
  border-left: 4px solid var(--motif-color-info, #17a2b8);
}
.expression-modal .entity-types-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
}
.expression-modal .entity-types-grid .entity-type-chip {
  padding: 6px 12px;
  background: var(--motif-color-background, #fff);
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 16px;
  font-family: "Courier New", monospace;
  font-size: 0.85rem;
  cursor: pointer;
  transition: all 0.2s ease;
}
.expression-modal .entity-types-grid .entity-type-chip:hover {
  background: var(--motif-color-primary-light, #e3f2fd);
  border-color: var(--motif-color-primary, #007bff);
  transform: translateY(-1px);
}
.expression-modal .filter-operators-list {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(200px, 1fr));
  gap: 8px;
}
.expression-modal .filter-operators-list .help-item.compact {
  padding: 8px;
  margin-bottom: 0;
  border-bottom: none;
  background: var(--motif-color-background, #fff);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.expression-modal .filter-operators-list .help-item.compact .help-item-header {
  margin-bottom: 4px;
}
.expression-modal .filter-operators-list .help-item.compact .help-item-header .help-symbol {
  font-size: 0.85rem;
  padding: 2px 6px;
}
.expression-modal .filter-operators-list .help-item.compact .help-item-header .help-name {
  font-size: 0.8rem;
}
.expression-modal .filter-operators-list .help-item.compact .help-example {
  margin: 0;
  font-size: 0.75rem;
}
.expression-modal .filter-operators-list .help-item.compact .help-example code {
  color: var(--motif-color-text-secondary, #666);
}
.expression-modal .lookup-validation-section {
  padding: 16px;
  background-color: var(--motif-color-background-secondary, #f9f9f9);
  border-radius: 4px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  margin-top: 8px;
}
.expression-modal .lookup-validation-section .lookup-validation-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}
.expression-modal .lookup-validation-section .lookup-validation-header h6 {
  margin: 0;
  font-weight: 600;
}
.expression-modal .lookup-validation-section .lookup-validation-results {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item {
  padding: 12px;
  border-radius: 6px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  background: var(--motif-color-background, #fff);
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item.valid {
  border-left: 4px solid var(--motif-color-success, #28a745);
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item.invalid {
  border-left: 4px solid var(--motif-color-error, #dc3545);
  background: #fff5f5;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .lookup-expression {
  margin-bottom: 8px;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .lookup-expression code {
  font-size: 0.85rem;
  background: var(--motif-color-background-secondary, #f5f5f5);
  padding: 4px 8px;
  border-radius: 4px;
  display: inline-block;
  word-break: break-all;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--motif-color-success, #28a745);
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success .status-icon {
  font-size: 1.1rem;
  font-weight: bold;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success .validation-details {
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success .validation-details span {
  margin-right: 4px;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  color: var(--motif-color-error, #dc3545);
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error .status-icon {
  font-size: 1.1rem;
  font-weight: bold;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error .error-message {
  font-size: 0.85rem;
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .referenced-variables {
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed var(--motif-color-border, #e0e0e0);
}
.expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .referenced-variables small {
  color: var(--motif-color-text-secondary, #666);
}
.expression-modal .modal-actions {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  width: 100%;
}

.motif-theme-dark .expression-modal .context-variables-section {
  background: linear-gradient(135deg, #1a1a2e 0%, #1a2035 100%);
  border-color: var(--motif-color-border, #444);
  border-left-color: var(--motif-color-primary, #5c6bc0);
}
.motif-theme-dark .expression-modal .context-variables-section .section-header label {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .expression-modal .context-variables-section .section-header .section-hint {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .expression-modal .context-variables-section .context-variables-grid .context-variable-chip {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .context-variables-section .context-variables-grid .context-variable-chip:hover {
  background: var(--motif-color-primary-dark, #1a4d8f);
  border-color: var(--motif-color-primary, #5c6bc0);
}
.motif-theme-dark .expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-syntax {
  color: var(--motif-color-primary-light, #7986cb);
}
.motif-theme-dark .expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-name {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .expression-modal .context-variables-section .context-variables-grid .context-variable-chip .variable-info .variable-source {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .expression-modal .ncalc-help-section {
  background-color: var(--motif-color-background-secondary, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item {
  border-bottom-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-symbol.clickable:hover {
  background-color: var(--motif-color-primary-dark, #1a4d8f);
}
.motif-theme-dark .expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-item-header .help-name {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .expression-modal .ncalc-help-section .ncalc-help-content .help-tab-content .help-category .help-item .help-description {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .expression-modal .lookup-help-intro {
  background: linear-gradient(135deg, #1a2a3a 0%, #1a3040 100%);
  border-left-color: var(--motif-color-info, #4fc3f7);
}
.motif-theme-dark .expression-modal .entity-types-grid .entity-type-chip {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .expression-modal .entity-types-grid .entity-type-chip:hover {
  background: var(--motif-color-primary-dark, #1a4d8f);
  border-color: var(--motif-color-primary, #2196f3);
}
.motif-theme-dark .expression-modal .filter-operators-list .help-item.compact {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .filter-operators-list .help-item.compact .help-example code {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .expression-modal .lookup-validation-section {
  background-color: var(--motif-color-background-secondary, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item.valid {
  border-left-color: var(--motif-color-success, #4caf50);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item.invalid {
  border-left-color: var(--motif-color-error, #f44336);
  background: rgba(244, 67, 54, 0.1);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .lookup-expression code {
  background: var(--motif-color-background-secondary, #2a2a35);
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success {
  color: var(--motif-color-success, #4caf50);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-success .validation-details {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .validation-error {
  color: var(--motif-color-error, #f44336);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .referenced-variables {
  border-top-color: var(--motif-color-border, #444);
}
.motif-theme-dark .expression-modal .lookup-validation-section .lookup-validation-results .lookup-validation-item .referenced-variables small {
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .expression-modal .expression-analysis {
  background-color: var(--motif-color-background-secondary, #2a2a35);
  border-color: var(--motif-color-border, #444);
}.context-list {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  display: flex;
  flex-direction: column;
  margin: 0;
  flex: 1;
}
.context-list > motif-card-header,
.context-list > .motif-card-header {
  width: 100%;
  flex: 0 0 auto;
}
.context-list > motif-card-body,
.context-list > .motif-card-body {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  padding-top: 16px;
}
.context-list .context-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.context-list .context-list-header h3 {
  margin: 0;
}
.context-list .context-list-header .context-list-header-actions {
  display: flex;
  flex-direction: row;
  gap: 8px;
}
.context-list .context-list-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1 1 auto;
  min-height: 0;
  gap: 16px;
}
.context-list .context-search {
  margin-bottom: 0;
}
.context-list .eq-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.03125rem 0.375rem;
  border-radius: 999px;
  font-size: 0.5625rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.02em;
  white-space: nowrap;
  flex-shrink: 0;
}
.context-list .eq-badge--override {
  background-color: rgba(245, 158, 11, 0.15);
  color: #b45309;
  border: 1px solid rgba(245, 158, 11, 0.4);
}
.context-list .eq-badge--config {
  background-color: rgba(99, 102, 241, 0.1);
  color: #4338ca;
  border: 1px solid rgba(99, 102, 241, 0.3);
}
.context-list .eq-badge--tenant {
  background-color: rgba(14, 116, 144, 0.12);
  color: #0f766e;
  border: 1px solid rgba(14, 116, 144, 0.3);
}
.context-list .contexts-container {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.context-list .empty-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 48px 24px;
  text-align: center;
  color: var(--motif-semantic-text-subtle);
}
.context-list .empty-state p {
  margin: 4px 0;
  font-size: 14px;
}
.context-list .empty-state .empty-hint {
  font-size: 12px;
  color: var(--motif-semantic-text-muted);
}
.context-list .collection-card {
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 8px;
  background-color: var(--motif-color-background, #fff);
  transition: all 0.2s ease;
}
.context-list .collection-card .collection-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 16px;
  gap: 12px;
  cursor: pointer;
}
.context-list .collection-card .collection-header .collection-header-left {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.context-list .collection-card .collection-header .collection-header-left .collapse-icon {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  color: var(--motif-semantic-text-default);
}
.context-list .collection-card .collection-header .collection-header-left .collection-info {
  flex: 1;
  min-width: 0;
}
.context-list .collection-card .collection-header .collection-header-left .collection-info .collection-name {
  margin: 0 0 4px 0;
  font-weight: 600;
  font-size: 1rem;
}
.context-list .collection-card .collection-header .collection-header-left .collection-info .collection-description {
  margin: 0;
  font-size: 0.875rem;
  font-weight: 200;
  padding-left: 8px;
  color: var(--motif-color-text-secondary, #666);
}
.context-list .collection-card .collection-body {
  padding: 0 16px 16px 16px;
  border-top: 1px solid var(--motif-color-border, #e0e0e0);
  padding-top: 16px;
}
.context-list .collection-card .collection-body .contexts-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.context-list .collection-card .collection-body .contexts-list .context-item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  padding: 12px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 4px;
  background-color: var(--motif-color-background, #fff);
  gap: 12px;
  transition: all 0.2s ease;
  cursor: pointer;
}
.context-list .collection-card .collection-body .contexts-list .context-item:hover {
  background-color: var(--motif-color-background-hover, #f5f5f5);
}
.context-list .collection-card .collection-body .contexts-list .context-item.selected {
  border-color: #699ace;
  border-width: 2px;
  background-color: var(--motif-semantic-surface-active);
  box-shadow: 0 0 0 1px #699ace;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content {
  flex: 1;
  min-width: 0;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-header-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 8px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-header-row .context-name {
  flex: 1;
  font-size: 0.95rem;
  color: var(--motif-semantic-text-default);
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-header-row .context-name strong {
  font-weight: 600;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-header-row .context-name mark {
  background-color: var(--motif-color-warning-light, #fff3cd);
  padding: 0 2px;
  border-radius: 2px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-header-row .edit-button {
  padding: 2px;
  opacity: 0.6;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-header-row .edit-button:hover {
  opacity: 1;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-description {
  font-size: 0.8rem;
  color: var(--motif-color-text-secondary, #666);
  margin: 0 0 12px 0;
  line-height: 1.4;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-description mark {
  background-color: var(--motif-color-warning-light, #fff3cd);
  padding: 0 2px;
  border-radius: 2px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.375rem;
  margin: 0 0 12px 0;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables {
  margin-top: 12px;
  padding: 8px;
  background: var(--motif-color-background-code, #f5f5f5);
  border-radius: 4px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-header {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  color: var(--motif-semantic-text-muted);
  margin-bottom: 8px;
  letter-spacing: 0.5px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 6px 8px;
  background: var(--motif-semantic-surface-default);
  border-radius: 4px;
  font-size: 0.75rem;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item .variable-name {
  font-weight: 500;
  color: var(--motif-semantic-text-default);
  font-family: "Courier New", Courier, monospace;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item .variable-name mark {
  background-color: var(--motif-color-warning-light, #fff3cd);
  padding: 0 2px;
  border-radius: 2px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item .variable-path {
  font-family: "Monaco", "Courier New", monospace;
  font-size: 0.7rem;
  color: var(--motif-semantic-text-subtle);
  margin-left: 8px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item .variable-path mark {
  background-color: var(--motif-color-warning-light, #fff3cd);
  padding: 0 2px;
  border-radius: 2px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-filter {
  margin-top: 12px;
  padding: 8px;
  background: var(--motif-color-background-code, #f5f5f5);
  border-radius: 4px;
  font-size: 0.75rem;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-filter .filter-label {
  font-weight: 600;
  color: var(--motif-semantic-text-muted);
  margin-right: 6px;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-filter .filter-code {
  font-family: "Monaco", "Courier New", monospace;
  color: var(--motif-semantic-text-default);
  word-break: break-all;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-actions {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex-shrink: 0;
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-actions .delete-button {
  color: var(--motif-color-error, #dc3545);
}
.context-list .collection-card .collection-body .contexts-list .context-item .context-actions .delete-button:hover {
  background-color: var(--motif-color-error-light, #fee);
}
.context-list mark.highlight {
  background-color: rgba(var(--motif-brand-primary-rgb), 0.2);
  color: var(--motif-semantic-text-default);
  padding: 1px 2px;
  border-radius: 2px;
}

[data-theme=dark] .context-list .collection-card {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
[data-theme=dark] .context-list .collection-card .collection-body {
  border-top-color: var(--motif-color-border, #444);
}
[data-theme=dark] .context-list .collection-card .collection-body .contexts-list .context-item {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
[data-theme=dark] .context-list .collection-card .collection-body .contexts-list .context-item:hover {
  background-color: var(--motif-color-background-hover, #2a2a35);
}
[data-theme=dark] .context-list .collection-card .collection-body .contexts-list .context-item.selected {
  box-shadow: 0 0 0 1px #699ace;
}
[data-theme=dark] .context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables {
  background: var(--motif-color-background-code, #2a2a35);
}
[data-theme=dark] .context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item {
  background: var(--motif-semantic-surface-overlay);
}
[data-theme=dark] .context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-filter {
  background: var(--motif-color-background-code, #2a2a35);
}
[data-theme=dark] .context-list mark.highlight {
  background-color: rgba(var(--motif-brand-primary-rgb), 0.3);
}
[data-theme=dark] .context-list .eq-badge--config {
  background-color: rgba(129, 140, 248, 0.15);
  color: #a5b4fc;
  border-color: rgba(129, 140, 248, 0.3);
}

.motif-theme-dark .context-list .collection-card {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .context-list .collection-card .collection-body {
  border-top-color: var(--motif-color-border, #444);
}
.motif-theme-dark .context-list .collection-card .collection-body .contexts-list .context-item {
  background-color: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .context-list .collection-card .collection-body .contexts-list .context-item:hover {
  background-color: var(--motif-color-background-hover, #2a2a35);
}
.motif-theme-dark .context-list .collection-card .collection-body .contexts-list .context-item.selected {
  box-shadow: 0 0 0 1px #699ace;
}
.motif-theme-dark .context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables {
  background: var(--motif-color-background-code, #2a2a35);
}
.motif-theme-dark .context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-variables .variables-list .variable-item {
  background: var(--motif-semantic-surface-overlay);
}
.motif-theme-dark .context-list .collection-card .collection-body .contexts-list .context-item .context-content .context-filter {
  background: var(--motif-color-background-code, #2a2a35);
}
.motif-theme-dark .context-list mark.highlight {
  background-color: rgba(var(--motif-brand-primary-rgb), 0.3);
}
.motif-theme-dark .context-list .eq-badge--config {
  background-color: rgba(129, 140, 248, 0.15);
  color: #a5b4fc;
  border-color: rgba(129, 140, 248, 0.3);
}.context-test-panel {
  width: 100% !important;
  max-width: none !important;
  height: 100% !important;
  display: flex;
  flex-direction: column;
  margin: 0;
  flex: 1;
}
.context-test-panel > motif-card-header,
.context-test-panel > .motif-card-header {
  width: 100%;
  flex: 0 0 auto;
}
.context-test-panel > motif-card-body,
.context-test-panel > .motif-card-body {
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow-y: auto;
  padding-top: 16px;
}
.context-test-panel .test-panel-header {
  display: flex;
  align-items: center;
  gap: 8px;
}
.context-test-panel .test-panel-content {
  display: flex;
  flex-direction: column;
  gap: 20px;
  height: 100%;
}
.context-test-panel .empty-state {
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 1;
  text-align: center;
  color: var(--motif-color-text-secondary);
  padding: 40px 20px;
}
.context-test-panel .empty-state p {
  margin: 0;
  font-size: 0.95rem;
}
.context-test-panel .context-info {
  padding: 16px;
  background: var(--motif-color-background-secondary, #f5f5f5);
  border-radius: 8px;
  border-left: 4px solid var(--motif-color-primary, #2e2e38);
}
.context-test-panel .context-info h4 {
  margin: 0 0 8px 0;
  color: var(--motif-color-text, #000);
  font-size: 1.1rem;
}
.context-test-panel .context-info .collection-name {
  margin: 0 0 8px 0;
  font-size: 0.9rem;
  color: var(--motif-color-text-secondary, #666);
}
.context-test-panel .context-info .collection-name code {
  background: var(--motif-color-background, #fff);
  padding: 2px 6px;
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 0.85rem;
}
.context-test-panel .context-info .context-description {
  margin: 0;
  font-size: 0.9rem;
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
}
.context-test-panel .test-inputs {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.context-test-panel .test-inputs .form-group {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.context-test-panel .test-inputs .form-group label {
  font-size: 0.9rem;
  font-weight: 500;
  color: var(--motif-color-text, #000);
}
.context-test-panel .test-inputs .form-group .field-help {
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
  margin: 0;
}
.context-test-panel .test-inputs .filter-info {
  padding: 12px;
  background: var(--motif-color-background-secondary, #f5f5f5);
  border-radius: 6px;
}
.context-test-panel .test-inputs .filter-info label {
  display: block;
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--motif-color-text-secondary, #666);
  margin-bottom: 8px;
}
.context-test-panel .test-inputs .filter-info .filter-code {
  margin: 0;
  padding: 8px;
  background: var(--motif-color-background, #fff);
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 0.85rem;
  overflow-x: auto;
}
.context-test-panel .test-inputs .extract-button {
  align-self: flex-start;
  gap: 8px;
}
.context-test-panel .error-message {
  margin: 0;
}
.context-test-panel .extraction-results {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  background: var(--motif-color-background-secondary, #f5f5f5);
  border-radius: 8px;
  border: 1px solid var(--motif-color-border, #e0e0e0);
}
.context-test-panel .extraction-results .results-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding-bottom: 12px;
  border-bottom: 2px solid var(--motif-color-border, #e0e0e0);
}
.context-test-panel .extraction-results .results-header h4 {
  margin: 0;
  color: var(--motif-color-text, #000);
  font-size: 1rem;
}
.context-test-panel .extraction-results .results-header .document-info {
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
}
.context-test-panel .extraction-results .variables-list {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.context-test-panel .extraction-results .variables-list .no-variables {
  text-align: center;
  color: var(--motif-color-text-secondary, #666);
  font-style: italic;
  margin: 20px 0;
}
.context-test-panel .extraction-results .variables-list .variable-result {
  padding: 12px;
  background: var(--motif-color-background, #fff);
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-name {
  font-weight: 600;
  color: var(--motif-color-text, #000);
  font-size: 0.95rem;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type {
  font-size: 0.8rem;
  padding: 2px 8px;
  border-radius: 12px;
  font-weight: 500;
  text-transform: uppercase;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-number {
  background: #e3f2fd;
  color: #1976d2;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-string {
  background: #f3e5f5;
  color: #7b1fa2;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-boolean {
  background: #e8f5e9;
  color: #388e3c;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-object {
  background: #fff3e0;
  color: #f57c00;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-array {
  background: #fce4ec;
  color: #c2185b;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-null {
  background: #f5f5f5;
  color: #757575;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-path code {
  font-family: "Courier New", monospace;
  font-size: 0.85rem;
  color: var(--motif-color-text-secondary, #666);
  background: var(--motif-color-background-secondary, #f5f5f5);
  padding: 2px 6px;
  border-radius: 4px;
}
.context-test-panel .extraction-results .variables-list .variable-result .variable-value pre {
  margin: 0;
  padding: 10px;
  background: var(--motif-color-background-secondary, #f5f5f5);
  border: 1px solid var(--motif-color-border, #e0e0e0);
  border-radius: 4px;
  font-family: "Courier New", monospace;
  font-size: 0.85rem;
  color: var(--motif-color-text, #000);
  overflow-x: auto;
  white-space: pre-wrap;
  word-break: break-all;
}

[data-theme=dark] .context-test-panel .context-info {
  background: var(--motif-color-background-code, #2a2a35);
  border-left-color: #699ace;
}
[data-theme=dark] .context-test-panel .context-info h4 {
  color: var(--motif-color-text, #e0e0e0);
}
[data-theme=dark] .context-test-panel .context-info .collection-name code {
  background: var(--motif-color-background, #1a1a25);
  color: var(--motif-color-text, #e0e0e0);
}
[data-theme=dark] .context-test-panel .test-inputs .form-group label {
  color: var(--motif-color-text, #e0e0e0);
}
[data-theme=dark] .context-test-panel .test-inputs .filter-info {
  background: var(--motif-color-background-code, #2a2a35);
}
[data-theme=dark] .context-test-panel .test-inputs .filter-info .filter-code {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
  color: var(--motif-color-text, #e0e0e0);
}
[data-theme=dark] .context-test-panel .extraction-results {
  background: var(--motif-color-background-code, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
[data-theme=dark] .context-test-panel .extraction-results .results-header {
  border-bottom-color: var(--motif-color-border, #444);
}
[data-theme=dark] .context-test-panel .extraction-results .results-header h4 {
  color: var(--motif-color-text, #e0e0e0);
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-name {
  color: var(--motif-color-text, #e0e0e0);
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-number {
  background: #1a237e;
  color: #90caf9;
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-string {
  background: #4a148c;
  color: #ce93d8;
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-boolean {
  background: #1b5e20;
  color: #a5d6a7;
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-object {
  background: #e65100;
  color: #ffcc80;
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-array {
  background: #880e4f;
  color: #f48fb1;
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-null {
  background: #424242;
  color: #bdbdbd;
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-path code {
  background: var(--motif-color-background-code, #2a2a35);
  color: var(--motif-color-text-secondary, #999);
}
[data-theme=dark] .context-test-panel .extraction-results .variables-list .variable-result .variable-value pre {
  background: var(--motif-color-background-code, #2a2a35);
  border-color: var(--motif-color-border, #444);
  color: var(--motif-color-text, #e0e0e0);
}

.motif-theme-dark .context-test-panel .context-info {
  background: var(--motif-color-background-code, #2a2a35);
  border-left-color: #699ace;
}
.motif-theme-dark .context-test-panel .context-info h4 {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .context-test-panel .context-info .collection-name code {
  background: var(--motif-color-background, #1a1a25);
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .context-test-panel .test-inputs .form-group label {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .context-test-panel .test-inputs .filter-info {
  background: var(--motif-color-background-code, #2a2a35);
}
.motif-theme-dark .context-test-panel .test-inputs .filter-info .filter-code {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .context-test-panel .extraction-results {
  background: var(--motif-color-background-code, #2a2a35);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .context-test-panel .extraction-results .results-header {
  border-bottom-color: var(--motif-color-border, #444);
}
.motif-theme-dark .context-test-panel .extraction-results .results-header h4 {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result {
  background: var(--motif-color-background, #1a1a25);
  border-color: var(--motif-color-border, #444);
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-name {
  color: var(--motif-color-text, #e0e0e0);
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-number {
  background: #1a237e;
  color: #90caf9;
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-string {
  background: #4a148c;
  color: #ce93d8;
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-boolean {
  background: #1b5e20;
  color: #a5d6a7;
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-object {
  background: #e65100;
  color: #ffcc80;
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-array {
  background: #880e4f;
  color: #f48fb1;
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-header .variable-type.type-null {
  background: #424242;
  color: #bdbdbd;
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-path code {
  background: var(--motif-color-background-code, #2a2a35);
  color: var(--motif-color-text-secondary, #999);
}
.motif-theme-dark .context-test-panel .extraction-results .variables-list .variable-result .variable-value pre {
  background: var(--motif-color-background-code, #2a2a35);
  border-color: var(--motif-color-border, #444);
  color: var(--motif-color-text, #e0e0e0);
}.context-modal .motif-modal-body {
  max-height: 70vh;
  overflow-y: auto;
}
.context-modal .context-form {
  display: flex;
  flex-direction: column;
  gap: 24px;
}
.context-modal .context-form .form-section h4 {
  margin: 0 0 16px 0;
  font-size: 16px;
  font-weight: 600;
  color: var(--body--color, #1A1A24);
}
.context-modal .context-form .form-section h4 .required {
  color: var(--input-error--color, #EA011D);
}
.context-modal .context-form .form-section .section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 16px;
}
.context-modal .context-form .form-section .section-header h4 {
  margin: 0;
}
.context-modal .context-form .form-section .info-box {
  display: flex;
  gap: 8px;
  padding: 12px;
  background: var(--inline-message-info--bg-color, #E3F2FD);
  border-left: 3px solid var(--inline-message-info--border-color, #1275C1);
  border-radius: 4px;
  margin-bottom: 12px;
}
.context-modal .context-form .form-section .info-box .motif-icon {
  flex-shrink: 0;
  color: var(--inline-message-info--icon-color, #1275C1);
  margin-top: 2px;
}
.context-modal .context-form .form-section .info-box p {
  margin: 0;
  font-size: 12px;
  line-height: 1.4;
  color: var(--body--color, #1A1A24);
}
.context-modal .context-form .form-section .form-group {
  margin-bottom: 16px;
}
.context-modal .context-form .form-section .form-group.flex-1 {
  flex: 1;
}
.context-modal .context-form .form-section .form-group.flex-2 {
  flex: 2;
}
.context-modal .context-form .form-section .form-group label {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  font-weight: 500;
  color: var(--body--color, #1A1A24);
}
.context-modal .context-form .form-section .form-group label .required {
  color: var(--input-error--color, #EA011D);
  margin-left: 2px;
}
.context-modal .context-form .form-section .form-group .motif-input,
.context-modal .context-form .form-section .form-group .motif-text-area,
.context-modal .context-form .form-section .form-group .motif-select {
  width: 100%;
}
.context-modal .context-form .form-section .form-group .error-message {
  margin-top: 4px;
  font-size: 12px;
  color: var(--input-error--color, #EA011D);
}
.context-modal .context-form .form-section .collection-selector-row {
  display: flex;
  gap: 8px;
  align-items: flex-start;
}
.context-modal .context-form .form-section .collection-selector-row .motif-select {
  flex: 1;
}
.context-modal .context-form .form-section .collection-selector-row .motif-button {
  flex-shrink: 0;
  white-space: nowrap;
}
.context-modal .context-form .field-browser-section {
  background: var(--card--bg-color, #F9F9FA);
  border: 1px solid var(--card--border-color, #C3C3CB);
  border-radius: 8px;
  padding: 16px;
}
.context-modal .context-form .field-browser-section .field-browser {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.context-modal .context-form .field-browser-section .field-browser .field-browser-controls {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.context-modal .context-form .field-browser-section .field-browser .field-browser-controls .checkbox-label {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 13px;
  color: var(--body--color, #1A1A24);
  cursor: pointer;
}
.context-modal .context-form .field-browser-section .field-browser .field-browser-controls .checkbox-label input[type=checkbox] {
  cursor: pointer;
}
.context-modal .context-form .field-browser-section .field-browser .field-browser-controls .section-hint {
  font-size: 0.8rem;
  color: var(--text-link--color, #7F7F91);
  font-style: italic;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
  gap: 10px;
  max-height: 300px;
  overflow-y: auto;
  padding: 8px;
  background: var(--body--bg-color, #FFF);
  border: 1px solid var(--input--border-color, #C3C3CB);
  border-radius: 4px;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  background: var(--card--bg-color, #FFF);
  border: 1px solid var(--card--border-color, #D7D7DC);
  border-radius: 6px;
  cursor: pointer;
  transition: all 0.2s ease;
  text-align: left;
  overflow: hidden;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip:hover {
  background: var(--btn-secondary-hover--bg-color, #E6E6E9);
  border-color: var(--input-focus--border-color, #2E2E38);
  transform: translateY(-1px);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip.selected {
  background: var(--chip-selected--bg-color, #AFCDFB);
  border-color: var(--input-focus--border-color, #2E2E38);
  box-shadow: 0 0 0 2px var(--input-focus--border-color, rgba(46, 46, 56, 0.2));
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge {
  padding: 3px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 600;
  text-transform: uppercase;
  flex-shrink: 0;
  line-height: 1;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.number {
  background: #e3f2fd;
  color: #1565c0;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.string {
  background: #f3e5f5;
  color: #6a1b9a;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.boolean {
  background: #e8f5e9;
  color: #2e7d32;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.date {
  background: #fff3e0;
  color: #e65100;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.object {
  background: #fce4ec;
  color: #c2185b;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.array {
  background: #e0f2f1;
  color: #00695c;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .field-info {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  flex: 1;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .field-info .field-name {
  font-size: 0.85rem;
  font-weight: 500;
  color: var(--body--color, #1A1A24);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .field-info .field-path {
  font-size: 0.7rem;
  font-family: "Monaco", "Menlo", "Consolas", monospace;
  color: var(--text-link--color, #7F7F91);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.context-modal .context-form .field-browser-section .field-browser .field-list {
  max-height: 300px;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px;
  background: var(--body--bg-color, #FFF);
  border: 1px solid var(--input--border-color, #C3C3CB);
  border-radius: 4px;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item {
  padding: 12px;
  background: var(--body--bg-color, #FFF);
  border: 1px solid var(--card--border-color, #D7D7DC);
  border-radius: 4px;
  transition: all 0.2s ease;
  cursor: pointer;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item:hover {
  background: var(--btn-secondary-hover--bg-color, #E6E6E9);
  border-color: var(--input--border-color, #C3C3CB);
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected {
  background: var(--chip-selected--bg-color, #AFCDFB);
  border-color: var(--inline-message-info--border-color, #1275C1);
  box-shadow: 0 0 0 1px var(--inline-message-info--border-color, #1275C1);
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label {
  display: flex;
  gap: 12px;
  cursor: pointer;
  margin-bottom: 0;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label input[type=checkbox] {
  flex-shrink: 0;
  margin-top: 2px;
  cursor: pointer;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row {
  display: flex;
  align-items: center;
  gap: 8px;
  justify-content: space-between;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .field-name {
  font-weight: 500;
  color: var(--body--color, #1A1A24);
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge {
  padding: 2px 8px;
  border-radius: 3px;
  font-size: 11px;
  font-weight: 600;
  text-transform: uppercase;
  background: var(--badge-info--bg-color, #E3F2FD);
  color: var(--body--color, #1A1A24);
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.number {
  background: #e3f2fd;
  color: #1565c0;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.string {
  background: #f3e5f5;
  color: #6a1b9a;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.boolean {
  background: #e8f5e9;
  color: #2e7d32;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.date {
  background: #fff3e0;
  color: #e65100;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .parent-path {
  font-size: 11px;
  color: var(--text-link--color, #7F7F91);
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-path code {
  font-size: 11px;
  padding: 2px 6px;
  background: var(--card--bg-color, #F3F3F5);
  border-radius: 3px;
  color: var(--body--color, #1A1A24);
  font-family: "Monaco", "Menlo", "Consolas", monospace;
}
.context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-description {
  font-size: 12px;
  color: var(--text-link--color, #7F7F91);
  line-height: 1.4;
}
.context-modal .context-form .field-browser-section .field-browser .field-browser-actions {
  display: flex;
  justify-content: flex-end;
  padding-top: 8px;
  border-top: 1px solid var(--card--border-color, #C3C3CB);
}
.context-modal .context-form .variables-list {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.context-modal .context-form .variables-list .variable-editor {
  padding: 0;
  background: var(--card--bg-color, #F9F9FA);
  border: 1px solid var(--card--border-color, #C3C3CB);
  border-radius: 6px;
  overflow: hidden;
}
.context-modal .context-form .variables-list .variable-editor .variable-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 12px 16px;
  background: var(--card--bg-color, #FFFFFF);
  border-bottom: 1px solid var(--card--border-color, #C3C3CB);
  cursor: pointer;
  transition: background-color 0.2s ease;
}
.context-modal .context-form .variables-list .variable-editor .variable-header:hover {
  background: var(--card-hover--bg-color, #F5F5F7);
}
.context-modal .context-form .variables-list .variable-editor .variable-header .variable-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
  flex: 1;
  min-width: 0;
}
.context-modal .context-form .variables-list .variable-editor .variable-header .variable-header-left .collapse-button {
  flex-shrink: 0;
  padding: 4px;
  min-width: auto;
  color: var(--icon--color, #7F7F91);
}
.context-modal .context-form .variables-list .variable-editor .variable-header .variable-header-left .collapse-button:hover {
  color: var(--icon-hover--color, #1A1A24);
}
.context-modal .context-form .variables-list .variable-editor .variable-header .variable-header-left h5 {
  margin: 0;
  font-size: 14px;
  font-weight: 600;
  color: var(--body--color, #1A1A24);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.context-modal .context-form .variables-list .variable-editor .variable-header .variable-header-left .variable-type-badge {
  flex-shrink: 0;
  padding: 2px 8px;
  font-size: 11px;
  font-weight: 500;
  color: var(--badge--color, #5E5E6E);
  background: var(--badge--bg-color, #E8E8EC);
  border-radius: 12px;
  text-transform: capitalize;
}
.context-modal .context-form .variables-list .variable-editor .variable-header .remove-button {
  flex-shrink: 0;
  margin-left: 8px;
}
.context-modal .context-form .variables-list .variable-editor > div:not(.variable-header) {
  padding: 4px 16px;
}
.context-modal .context-form .variables-list .variable-editor .variable-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.context-modal .context-form .variables-list .variable-editor .variable-row:last-child {
  margin-bottom: 0;
}
.context-modal .context-form .variables-list .variable-editor .field-hint {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-top: 4px;
  font-size: 11px;
  color: var(--text-link--color, #7F7F91);
}
.context-modal .context-form .variables-list .variable-editor .field-hint .motif-icon {
  flex-shrink: 0;
}
.context-modal .context-form .variables-list .variable-editor .field-hint span {
  line-height: 1.3;
}
.context-modal .context-form .empty-variables {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 32px;
  background: var(--card--bg-color, #F9F9FA);
  border: 2px dashed var(--card--border-color, #C3C3CB);
  border-radius: 6px;
  text-align: center;
}
.context-modal .context-form .empty-variables .motif-icon {
  color: var(--text-link--color, #9897A6);
  margin-bottom: 8px;
}
.context-modal .context-form .empty-variables p {
  margin: 0;
  font-size: 13px;
  color: var(--text-link--color, #7F7F91);
}

[data-theme=dark] .context-modal .context-form .form-section .info-box {
  background: rgba(18, 117, 193, 0.15);
}
[data-theme=dark] .context-modal .context-form .field-browser-section {
  background: var(--card--bg-color, #2E2E38);
  border-color: var(--card--border-color, #4E4E5D);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid {
  background: var(--body--bg-color, #1A1A24);
  border-color: var(--input--border-color, #4E4E5D);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip {
  background: var(--card--bg-color, #3F3F4C);
  border-color: var(--card--border-color, #656579);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip:hover {
  background: var(--btn-secondary-hover--bg-color, #4E4E5D);
  border-color: var(--input-focus--border-color, #9897A6);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.number {
  background: rgba(18, 117, 193, 0.3);
  color: #AFCDFB;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.string {
  background: rgba(106, 27, 154, 0.3);
  color: #D4C4EA;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.boolean {
  background: rgba(46, 125, 50, 0.3);
  color: #73FA90;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.date {
  background: rgba(230, 81, 0, 0.3);
  color: #FDBC84;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.object {
  background: rgba(194, 24, 91, 0.3);
  color: #ECBDDA;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .type-badge.array {
  background: rgba(0, 105, 92, 0.3);
  color: #60F6F3;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .field-info .field-name {
  color: var(--body--color, #F3F3F5);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip .field-info .field-path {
  color: var(--text-link--color, #9897A6);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list {
  background: var(--body--bg-color, #1A1A24);
  border-color: var(--input--border-color, #4E4E5D);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item {
  background: var(--card--bg-color, #3F3F4C);
  border-color: var(--card--border-color, #656579);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item:hover {
  background: var(--btn-secondary-hover--bg-color, #4E4E5D);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .field-name {
  color: var(--body--color, #F3F3F5);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.number {
  background: rgba(18, 117, 193, 0.3);
  color: #AFCDFB;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.string {
  background: rgba(106, 27, 154, 0.3);
  color: #D4C4EA;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.boolean {
  background: rgba(46, 125, 50, 0.3);
  color: #73FA90;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-header-row .type-badge.date {
  background: rgba(230, 81, 0, 0.3);
  color: #FDBC84;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .parent-path,
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-path code,
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-description {
  color: var(--text-link--color, #9897A6);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item label .field-info .field-path code {
  background: var(--card--bg-color, #2E2E38);
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip.selected {
  background: #064372 !important;
  border-color: #55A6FC !important;
  box-shadow: 0 0 0 2px rgba(85, 166, 252, 0.3) !important;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip.selected .field-info .field-name {
  color: #FFF !important;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list-grid .field-chip.selected .field-info .field-path {
  color: #AFCDFB !important;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected {
  background: #064372 !important;
  border-color: #55A6FC !important;
  box-shadow: 0 0 0 1px rgba(85, 166, 252, 0.5) !important;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected label .field-info .field-header-row .field-name {
  color: #FFF !important;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected label .field-info .parent-path,
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected label .field-info .field-path code,
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected label .field-info .field-description {
  color: #AFCDFB !important;
}
[data-theme=dark] .context-modal .context-form .field-browser-section .field-browser .field-list .field-item.selected label .field-info .field-path code {
  background: rgba(0, 0, 0, 0.3) !important;
}
[data-theme=dark] .context-modal .context-form .variables-list .variable-editor {
  background: var(--card--bg-color, #2E2E38);
  border-color: var(--card--border-color, #4E4E5D);
}
[data-theme=dark] .context-modal .context-form .variables-list .variable-editor .variable-header {
  border-bottom-color: var(--card--border-color, #4E4E5D);
}
[data-theme=dark] .context-modal .context-form .empty-variables {
  background: var(--card--bg-color, #2E2E38);
  border-color: var(--card--border-color, #4E4E5D);
}.context-manager {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  padding: 20px;
  gap: 20px;
}
.context-manager.loading, .context-manager.error {
  justify-content: center;
  align-items: center;
}
.context-manager.loading .loading-message,
.context-manager.loading .error-message, .context-manager.error .loading-message,
.context-manager.error .error-message {
  font-size: 16px;
  color: var(--motif-semantic-text-subtle);
}
.context-manager.loading .error-message, .context-manager.error .error-message {
  color: var(--motif-semantic-status-error);
  margin-bottom: 16px;
}
.context-manager.loading button, .context-manager.error button {
  padding: 8px 16px;
  background: var(--motif-brand-primary);
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 14px;
}
.context-manager.loading button:hover, .context-manager.error button:hover {
  background: var(--motif-brand-primary-hover);
}
.context-manager .context-manager-header {
  background-color: var(--motif-background-color-card, #ffffff);
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  padding-bottom: 0.75rem;
}
.context-manager .context-manager-header .header-content {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 20px;
}
.context-manager .context-manager-header .header-text {
  flex: 1;
}
.context-manager .context-manager-header h2 {
  margin: 0 0 8px 0;
  font-size: 24px;
  font-weight: 600;
  color: var(--motif-semantic-text-default);
}
.context-manager .context-manager-header .subtitle {
  margin: 0;
  font-size: 14px;
  color: var(--motif-semantic-text-subtle);
}
.context-manager .context-scope-selector {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
  margin-top: 0.5rem;
}
.context-manager .context-scope-selector .context-scope-tabs {
  flex: 0 0 auto;
}
.context-manager .context-manager-content {
  flex: 1;
  min-height: 0;
  overflow: hidden;
}
.context-manager .context-list-panel,
.context-manager .test-panel-container {
  height: 100%;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

body.motif-theme-dark .context-manager .context-manager-header {
  background-color: var(--motif-background-color-card, #23232f);
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .context-manager .context-manager-header h2 {
  color: var(--motif-text-color-primary, #ffffff);
}
body.motif-theme-dark .context-manager .context-manager-header .subtitle {
  color: var(--motif-text-color-secondary, #a1a1a6);
}
body.motif-theme-dark .context-manager .context-scope-selector .context-scope-tabs {
  color: var(--motif-text-color-primary, #ffffff);
}.formula-library {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.formula-library .formula-library-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.formula-library .formula-library-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 12px;
}
.formula-library .formula-library-search {
  margin-bottom: 8px;
}
.formula-library .formula-library-tree {
  flex: 1;
  overflow-y: auto;
  min-height: 0;
}

.tree-node .tree-node-content {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 8px;
  cursor: pointer;
  border-radius: 4px;
  transition: background-color 0.2s ease;
}
.tree-node .tree-node-content:hover {
  background-color: var(--motif-color-background-hover, #f5f5f5);
}
.tree-node .tree-node-content.selected {
  background-color: var(--motif-color-background-selected, #e0e0e0);
}
.tree-node .tree-node-content.category {
  font-weight: 500;
}
.tree-node .tree-node-content.item {
  font-size: 0.9rem;
}
.tree-node .tree-node-content .tree-node-icon {
  flex-shrink: 0;
}
.tree-node .tree-node-content .tree-node-label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.tree-node .tree-node-children {
  margin-left: 0;
}

.motif-theme-dark .tree-node-content:hover {
  background-color: var(--motif-color-background-hover, #2a2a35);
}
.motif-theme-dark .tree-node-content.selected {
  background-color: var(--motif-color-background-selected, #3a3a45);
}/**
 * RoleManagement Styles
 * Styles for the role management interface
 */
.role-management {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  flex: 1;
  background-color: var(--motif-background-color, #f6f6fa);
  box-sizing: border-box;
  overflow: hidden;
}
.role-management .role-management-header {
  margin-bottom: 1.5rem;
  flex-shrink: 0;
}
.role-management .role-management-header h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
  margin: 0;
}
.role-management .role-management-content {
  flex: 1;
  min-height: 0;
  width: 100%;
  display: flex;
}
.role-management .role-management-content .p-splitter {
  border: none;
  background: transparent;
  width: 100%;
  height: 100%;
  flex: 1;
}
.role-management .role-management-content .p-splitter .p-splitter-gutter {
  background: var(--motif-border-color, #e1e1e6);
}
.role-management .role-management-content .p-splitter .p-splitter-panel {
  overflow: hidden;
}
.role-management .role-management-content .roles-list-splitter-panel,
.role-management .role-management-content .role-details-splitter-panel {
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.role-management .role-management-content .roles-list-splitter-panel > *,
.role-management .role-management-content .role-details-splitter-panel > * {
  height: 100%;
  width: 100%;
}

.roles-list-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0px 8px 0px 0px !important;
  border: 0px !important;
}
.roles-list-panel motif-card-body,
.roles-list-panel .motif-card-body {
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.roles-list-panel .roles-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.roles-list-panel .roles-list-header h2 {
  margin: 0;
}
.roles-list-panel .roles-list-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  overflow: hidden;
}
.roles-list-panel .roles-search {
  margin-bottom: 1rem;
  flex-shrink: 0;
}
.roles-list-panel .roles-list {
  flex: 1;
  overflow-y: auto;
}
.roles-list-panel .role-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--list-card-padding);
  cursor: pointer;
  margin-bottom: var(--list-card-gap);
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: 1px solid var(--library-card-border);
  border-radius: var(--library-card-radius);
  background: var(--library-card-bg);
  transition: background-color 0.15s, border-color 0.15s;
}
.roles-list-panel .role-item:hover {
  background: var(--library-card-bg-hover);
  border-color: var(--library-card-border-hover);
}
.roles-list-panel .role-item:focus-visible {
  outline: 2px solid var(--library-focus);
  outline-offset: 2px;
}
.roles-list-panel .role-item.active, .roles-list-panel .role-item.active:hover {
  border-color: var(--library-card-border-selected);
  background: var(--library-card-bg-selected);
}
.roles-list-panel .role-item .role-name {
  font-size: var(--list-card-name-size);
  font-weight: var(--list-card-name-weight);
  color: var(--list-card-name-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  flex: 1;
  min-width: 0;
  margin-right: 0.5rem;
}
.roles-list-panel .role-item .role-badge {
  background-color: rgba(0, 0, 0, 0.08);
  padding: 0.125rem 0.5rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  flex-shrink: 0;
}
.roles-list-panel .role-item.active .role-badge {
  background-color: rgba(0, 0, 0, 0.15);
}
.roles-list-panel .roles-list-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 200px;
}
.roles-list-panel .roles-list-error,
.roles-list-panel .roles-list-empty {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}
.roles-list-panel .roles-list-error {
  color: var(--motif-color-error, #b9251c);
}

.role-details-panel {
  height: 100%;
  width: 100%;
  grid-template-areas: "stack";
  display: flex;
  flex-direction: column;
}
.role-details-panel.role-details-empty {
  justify-content: center;
  align-items: center;
}
.role-details-panel > motif-card-header,
.role-details-panel > .motif-card-header {
  order: 1;
  flex-shrink: 0;
  width: 100%;
}
.role-details-panel > .role-details-tabs {
  order: 2;
  flex-shrink: 0;
}
.role-details-panel > motif-card-body,
.role-details-panel > .motif-card-body {
  order: 3;
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.role-details-panel > .role-details-footer {
  order: 4;
  flex-shrink: 0;
}
.role-details-panel .role-details-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
}
.role-details-panel .role-details-header .role-title-section h2 {
  font-size: 1.25rem;
  font-weight: 600;
  margin: 0 0 0.25rem 0;
}
.role-details-panel .role-details-header .role-title-section .role-description {
  color: var(--motif-text-color-secondary, #747480);
  font-size: 0.875rem;
  margin: 0;
}
.role-details-panel .role-details-tabs {
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  padding: 0 1rem;
}
.role-details-panel .role-details-tabs .role-tabs-navigation {
  margin: 0;
}
.role-details-panel .role-details-tabs .tab-badge {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  margin-left: 0.5rem;
}
.role-details-panel .role-details-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
}
.role-details-panel .role-details-footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #ffffff);
}
.role-details-panel .role-details-footer .delete-role-btn {
  color: var(--motif-color-error, #b9251c);
  border-color: var(--motif-color-error, #b9251c);
}
.role-details-panel .role-details-footer .delete-role-btn:hover {
  background-color: rgba(185, 37, 28, 0.05);
}
.role-details-panel .role-details-footer .footer-right {
  display: flex;
  align-items: center;
  gap: 1rem;
}
.role-details-panel .role-details-footer .unsaved-indicator {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  color: var(--motif-text-color-secondary, #747480);
  font-size: 0.8125rem;
}
.role-details-panel .role-details-footer .unsaved-indicator .unsaved-dot {
  width: 8px;
  height: 8px;
  background-color: var(--motif-component-background-primary, #ffe600);
  border-radius: 50%;
}
.role-details-panel .role-details-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 200px;
}
.role-details-panel .role-details-error {
  color: var(--motif-color-error, #b9251c);
}

.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  color: var(--motif-text-color-secondary, #747480);
}
.empty-state .empty-state-icon {
  font-size: 3rem;
  margin-bottom: 1rem;
  opacity: 0.5;
}
.empty-state h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
  margin-bottom: 0.5rem;
}

.permissions-tab .permissions-header {
  margin-bottom: 1rem;
}
.permissions-tab .select-all-row {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.75rem 1rem;
  background-color: var(--motif-background-color-hover, #f0f0f5);
  border-radius: 6px;
  margin-bottom: 1rem;
}
.permissions-tab .select-all-row .select-all-count {
  color: var(--motif-text-color-secondary, #747480);
  margin-left: 0.5rem;
}
.permissions-tab .permissions-modules {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.permissions-tab .permissions-tab-loading,
.permissions-tab .permissions-tab-error,
.permissions-tab .permissions-tab-empty {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}
.permissions-tab .permissions-tab-error {
  color: var(--motif-color-error, #b9251c);
}

.permission-module {
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 8px;
  overflow: hidden;
}
.permission-module .permission-module-trigger {
  width: 100%;
}
.permission-module .permission-module-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.25rem 0;
}
.permission-module .permission-module-header .module-name {
  font-weight: 600;
  flex: 1;
  text-align: left;
}
.permission-module .permission-module-header .module-count {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
}
.permission-module .permission-module-content {
  padding: 0.5rem 1rem 1rem 2.5rem;
}
.permission-module .permission-list {
  display: flex;
  flex-direction: column;
}
.permission-module .permission-row {
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
}
.permission-module .permission-row:last-child {
  border-bottom: none;
}
.permission-module .permission-row .permission-label {
  display: flex;
  flex-direction: column;
  margin-left: 0.5rem;
}
.permission-module .permission-row .permission-label .permission-name {
  font-weight: 500;
}
.permission-module .permission-row .permission-label .permission-desc {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
  margin-top: 0.125rem;
}

.users-tab .add-user-section {
  margin-bottom: 1.5rem;
}
.users-tab .add-user-form {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  background-color: var(--motif-background-color-hover, #f0f0f5);
  border-radius: 8px;
}
.users-tab .add-user-form .add-user-input {
  flex: 1;
  margin: 0;
}
.users-tab .add-user-error {
  color: var(--motif-color-error, #b9251c);
  font-size: 0.8125rem;
  margin-top: 0.5rem;
  padding-left: 1rem;
}
.users-tab .upload-template-btn {
  white-space: nowrap;
}
.users-tab .upload-result {
  margin-top: 0.75rem;
  padding: 0.75rem 1rem;
  border-radius: 6px;
  font-size: 0.875rem;
}
.users-tab .upload-result.success {
  background-color: rgba(22, 135, 54, 0.1);
  border: 1px solid var(--motif-color-success, #168736);
  color: var(--motif-color-success, #168736);
}
.users-tab .upload-result.has-errors {
  background-color: rgba(185, 37, 28, 0.1);
  border: 1px solid var(--motif-color-error, #b9251c);
}
.users-tab .upload-result .upload-result-summary {
  margin-bottom: 0.5rem;
}
.users-tab .upload-result .upload-result-errors {
  font-size: 0.8125rem;
  color: var(--motif-color-error, #b9251c);
}
.users-tab .upload-result .upload-result-errors .upload-error-item {
  padding: 0.25rem 0;
}
.users-tab .users-grid-container {
  min-height: 200px;
}
.users-tab .users-grid-container .ag-root-wrapper {
  border-radius: 8px;
  border: 1px solid var(--motif-border-color, #e1e1e6);
}
.users-tab .users-empty-state {
  padding: 3rem 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
  background-color: var(--motif-background-color-card, #ffffff);
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 8px;
}
.users-tab .users-empty-state .users-empty-hint {
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.users-tab .users-tab-loading,
.users-tab .users-tab-error {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}
.users-tab .users-tab-error {
  color: var(--motif-color-error, #b9251c);
}
.users-tab .remove-user-btn {
  color: var(--motif-color-error, #b9251c);
  border-color: var(--motif-color-error, #b9251c);
  padding: 0.25rem 0.5rem;
}
.users-tab .remove-user-btn:hover {
  background-color: rgba(185, 37, 28, 0.05);
}
.users-tab .action-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.create-role-modal .create-role-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.create-role-modal .form-error-message {
  padding: 0.75rem 1rem;
  background-color: rgba(185, 37, 28, 0.1);
  border: 1px solid var(--motif-color-error, #b9251c);
  border-radius: 4px;
  color: var(--motif-color-error, #b9251c);
  font-size: 0.875rem;
}
.create-role-modal .template-info {
  margin-top: 0.5rem;
  font-size: 0.8125rem;
  color: var(--motif-text-color-secondary, #747480);
}
.create-role-modal .modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

@media (max-width: 900px) {
  .role-management .role-management-content .p-splitter {
    flex-direction: column;
  }
  .roles-list-panel {
    max-height: 300px;
  }
}
body.motif-theme-dark .role-management {
  background-color: var(--motif-background-color, #1a1a24);
}
body.motif-theme-dark .roles-list-panel,
body.motif-theme-dark .role-details-panel {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .roles-list-panel motif-card-header,
body.motif-theme-dark .roles-list-panel motif-card-body,
body.motif-theme-dark .roles-list-panel .motif-card-header,
body.motif-theme-dark .roles-list-panel .motif-card-body,
body.motif-theme-dark .role-details-panel motif-card-header,
body.motif-theme-dark .role-details-panel motif-card-body,
body.motif-theme-dark .role-details-panel .motif-card-header,
body.motif-theme-dark .role-details-panel .motif-card-body {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .role-details-tabs .tab-badge {
  background-color: #1a1a24;
}
body.motif-theme-dark .role-details-footer {
  background-color: var(--motif-background-color-card, #23232f) !important;
  border-top-color: var(--motif-border-color, #33333e) !important;
}
body.motif-theme-dark .users-empty-state {
  background-color: var(--motif-background-color-card, #23232f) !important;
  border-color: var(--motif-border-color, #33333e) !important;
}
body.motif-theme-dark .permission-module {
  border-color: var(--motif-border-color, #33333e);
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .select-all-row {
  background-color: var(--motif-background-color-hover, #2a2a35);
}
body.motif-theme-dark .add-user-form {
  background-color: var(--motif-background-color-hover, #2a2a35);
}
body.motif-theme-dark .role-details-tabs {
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .permission-row {
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .users-grid-container .ag-root-wrapper {
  border-color: var(--motif-border-color, #33333e);
}/**
 * UserManagement Styles
 * Styles for the user management interface
 */
.user-management {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  flex: 1;
  background-color: var(--motif-background-color, #f6f6fa);
  box-sizing: border-box;
  overflow: hidden;
}
.user-management .user-management-header {
  margin-bottom: 1.5rem;
  flex-shrink: 0;
}
.user-management .user-management-header h1 {
  font-size: 1.5rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
  margin: 0;
}
.user-management .user-management-content {
  flex: 1;
  min-height: 0;
  width: 100%;
  display: flex;
}
.user-management .user-management-content .p-splitter {
  border: none;
  background: transparent;
  width: 100%;
  height: 100%;
  flex: 1;
}
.user-management .user-management-content .p-splitter .p-splitter-gutter {
  background: var(--motif-border-color, #e1e1e6);
}
.user-management .user-management-content .p-splitter .p-splitter-panel {
  overflow: hidden;
}
.user-management .user-management-content .users-list-splitter-panel,
.user-management .user-management-content .user-details-splitter-panel {
  height: 100%;
  width: 100%;
  overflow: hidden;
}
.user-management .user-management-content .users-list-splitter-panel > *,
.user-management .user-management-content .user-details-splitter-panel > * {
  height: 100%;
  width: 100%;
}

.users-list-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0px 8px 0px 0px !important;
  border: 0px !important;
}
.users-list-panel motif-card-body,
.users-list-panel .motif-card-body {
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.users-list-panel .users-list-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
}
.users-list-panel .users-list-header .users-title {
  display: flex;
  align-items: center;
  gap: 0.5rem;
}
.users-list-panel .users-list-header .users-title h2 {
  margin: 0;
}
.users-list-panel .users-list-header .users-title .users-count-badge {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--motif-text-color-secondary, #747480);
}
.users-list-panel .users-list-content {
  display: flex;
  flex-direction: column;
  height: 100%;
  flex: 1;
  overflow: hidden;
}
.users-list-panel .users-search {
  margin-bottom: 1rem;
  flex-shrink: 0;
}
.users-list-panel .users-list {
  flex: 1;
  overflow-y: auto;
}
.users-list-panel .user-item {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: var(--list-card-padding);
  cursor: pointer;
  margin-bottom: var(--list-card-gap);
  box-sizing: border-box;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  border: 1px solid var(--library-card-border);
  border-radius: var(--library-card-radius);
  background: var(--library-card-bg);
  transition: background-color 0.15s, border-color 0.15s;
}
.users-list-panel .user-item:hover {
  background: var(--library-card-bg-hover);
  border-color: var(--library-card-border-hover);
}
.users-list-panel .user-item:focus-visible {
  outline: 2px solid var(--library-focus);
  outline-offset: 2px;
}
.users-list-panel .user-item.active, .users-list-panel .user-item.active:hover {
  border-color: var(--library-card-border-selected);
  background: var(--library-card-bg-selected);
}
.users-list-panel .user-item .user-info {
  display: flex;
  flex-direction: column;
  min-width: 0;
  flex: 1;
}
.users-list-panel .user-item .user-info .user-name {
  font-size: var(--list-card-name-size);
  font-weight: var(--list-card-name-weight);
  color: var(--list-card-name-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.users-list-panel .user-item .user-info .user-email {
  font-size: var(--list-card-meta-size);
  color: var(--list-card-meta-value-color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.users-list-panel .user-item .user-badge {
  background-color: rgba(0, 0, 0, 0.08);
  padding: 0.125rem 0.5rem;
  border-radius: 12px;
  font-size: 0.75rem;
  font-weight: 500;
  margin-left: 0.5rem;
  flex-shrink: 0;
}
.users-list-panel .user-item.active .user-badge {
  background-color: rgba(0, 0, 0, 0.15);
}
.users-list-panel .users-list-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 200px;
}
.users-list-panel .users-list-error,
.users-list-panel .users-list-empty {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}
.users-list-panel .users-list-error {
  color: var(--motif-color-error, #b9251c);
}

.user-details-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 0px 0px 0px 8px !important;
  border: 0px !important;
}
.user-details-panel.user-details-empty {
  justify-content: center;
  align-items: center;
}
.user-details-panel > motif-card-header,
.user-details-panel > .motif-card-header {
  order: 1;
  flex-shrink: 0;
  width: 100%;
}
.user-details-panel > motif-card-body,
.user-details-panel > .motif-card-body {
  order: 2;
  flex: 1;
  min-height: 0;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.user-details-panel > .user-details-footer {
  order: 3;
  flex-shrink: 0;
}
.user-details-panel .user-details-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin-bottom: 0.5rem;
}
.user-details-panel .user-details-header .user-title-section h2 {
  margin: 0;
  word-break: break-all;
}
.user-details-panel .user-details-header .user-title-section .user-email-subtitle {
  font-size: 0.8125rem;
  color: var(--motif-text-color-secondary, #747480);
  margin: 0.25rem 0 0 0;
  word-break: break-all;
}
.user-details-panel .user-details-tabs {
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
}
.user-details-panel .user-details-tabs .user-tabs-navigation {
  margin: 0;
}
.user-details-panel .user-details-tabs .tab-badge {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  margin-left: 0.5rem;
}
.user-details-panel .tab-content {
  flex: 1;
  overflow-y: auto;
  padding: 1rem 0;
}
.user-details-panel .user-details-loading,
.user-details-panel .user-details-error {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}
.user-details-panel .user-details-error {
  color: var(--motif-color-error, #b9251c);
}
.user-details-panel .user-details-footer {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #ffffff);
}
.user-details-panel .user-details-footer .delete-user-btn {
  color: var(--motif-color-error, #b9251c);
  border-color: var(--motif-color-error, #b9251c);
}
.user-details-panel .user-details-footer .delete-user-btn:hover:not(:disabled) {
  background-color: rgba(185, 37, 28, 0.05);
}
.user-details-panel .user-details-footer .delete-user-btn:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}

.empty-state {
  text-align: center;
  padding: 3rem 2rem;
  color: var(--motif-text-color-secondary, #747480);
}
.empty-state h3 {
  font-size: 1rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
  margin-bottom: 0.5rem;
}
.empty-state p {
  margin: 0;
}

.user-roles-tab .add-role-section {
  margin-bottom: 1.5rem;
}
.user-roles-tab .add-role-form {
  display: flex;
  gap: 0.75rem;
  padding: 1rem;
  background-color: var(--motif-background-color-hover, #f0f0f5);
  border-radius: 8px;
}
.user-roles-tab .add-role-form .add-role-select {
  flex: 1;
  margin: 0;
}
.user-roles-tab .add-role-error {
  color: var(--motif-color-error, #b9251c);
  font-size: 0.8125rem;
  margin-top: 0.5rem;
  padding-left: 1rem;
}
.user-roles-tab .add-role-info {
  color: var(--motif-text-color-secondary, #747480);
  font-size: 0.8125rem;
  margin-top: 0.5rem;
  padding-left: 1rem;
  font-style: italic;
}
.user-roles-tab .roles-grid-container {
  min-height: 150px;
}
.user-roles-tab .roles-grid-container .ag-root-wrapper {
  border-radius: 8px;
  border: 1px solid var(--motif-border-color, #e1e1e6);
}
.user-roles-tab .roles-empty-state {
  padding: 3rem 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
  background-color: var(--motif-background-color-card, #ffffff);
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 8px;
}
.user-roles-tab .roles-empty-state p {
  margin: 0;
}
.user-roles-tab .roles-empty-state .roles-empty-hint {
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.user-roles-tab .user-roles-tab-loading {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}
.user-roles-tab .remove-role-btn {
  color: var(--motif-color-error, #b9251c);
  border-color: var(--motif-color-error, #b9251c);
  padding: 0.25rem 0.5rem;
}
.user-roles-tab .remove-role-btn:hover {
  background-color: rgba(185, 37, 28, 0.05);
}
.user-roles-tab .action-cell {
  display: flex;
  align-items: center;
  justify-content: flex-end;
}

.user-permissions-tab .permissions-summary {
  padding: 1rem;
  background-color: var(--motif-background-color-hover, #f0f0f5);
  border-radius: 8px;
  margin-bottom: 1.5rem;
}
.user-permissions-tab .permissions-summary .summary-info {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
}
.user-permissions-tab .permissions-summary .summary-info .summary-total {
  font-size: 1rem;
}
.user-permissions-tab .permissions-summary .summary-info .summary-source {
  font-size: 0.875rem;
  color: var(--motif-text-color-secondary, #747480);
}
.user-permissions-tab .permissions-summary .summary-info .summary-source .roles-list {
  margin-left: 0.5rem;
  font-style: italic;
}
.user-permissions-tab .permissions-modules {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}
.user-permissions-tab .permissions-empty-state {
  padding: 3rem 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
  background-color: var(--motif-background-color-card, #ffffff);
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 8px;
}
.user-permissions-tab .permissions-empty-state p {
  margin: 0;
}
.user-permissions-tab .permissions-empty-state .permissions-empty-hint {
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
.user-permissions-tab .user-permissions-tab-loading {
  padding: 2rem;
  text-align: center;
  color: var(--motif-text-color-secondary, #747480);
}

.permission-module-view {
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 8px;
  overflow: hidden;
}
.permission-module-view .permission-module-trigger {
  width: 100%;
}
.permission-module-view .permission-module-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  width: 100%;
  padding: 0.25rem 0;
}
.permission-module-view .permission-module-header .module-name {
  font-weight: 600;
  flex: 1;
  text-align: left;
}
.permission-module-view .permission-module-header .module-count {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
}
.permission-module-view .permission-module-content {
  padding: 0.5rem 1rem 1rem 1rem;
}
.permission-module-view .permission-list {
  display: flex;
  flex-direction: column;
}
.permission-module-view .permission-row {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 0.625rem 0;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
}
.permission-module-view .permission-row:last-child {
  border-bottom: none;
}
.permission-module-view .permission-row.readonly .permission-check-icon {
  color: var(--motif-color-success, #168736);
  font-size: 1rem;
  flex-shrink: 0;
  margin-top: 0.125rem;
}
.permission-module-view .permission-row .permission-label {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.permission-module-view .permission-row .permission-label .permission-name {
  font-weight: 500;
  font-size: 0.875rem;
}
.permission-module-view .permission-row .permission-label .permission-desc {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #747480);
  margin-top: 0.125rem;
}

@media (max-width: 900px) {
  .user-management .user-management-content .p-splitter {
    flex-direction: column;
  }
  .users-list-panel {
    max-height: 300px;
  }
}
.add-user-modal .add-user-form {
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}
.add-user-modal .form-error-message {
  padding: 0.75rem 1rem;
  background-color: rgba(185, 37, 28, 0.1);
  border: 1px solid var(--motif-color-error, #b9251c);
  border-radius: 4px;
  color: var(--motif-color-error, #b9251c);
  font-size: 0.875rem;
}
.add-user-modal .modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
}

body.motif-theme-dark .user-management {
  background-color: var(--motif-background-color, #1a1a24);
}
body.motif-theme-dark .users-list-panel,
body.motif-theme-dark .user-details-panel {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .users-list-panel motif-card-header,
body.motif-theme-dark .users-list-panel motif-card-body,
body.motif-theme-dark .users-list-panel .motif-card-header,
body.motif-theme-dark .users-list-panel .motif-card-body,
body.motif-theme-dark .user-details-panel motif-card-header,
body.motif-theme-dark .user-details-panel motif-card-body,
body.motif-theme-dark .user-details-panel .motif-card-header,
body.motif-theme-dark .user-details-panel .motif-card-body {
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .user-details-footer {
  background-color: var(--motif-background-color-card, #23232f) !important;
  border-top-color: var(--motif-border-color, #33333e) !important;
}
body.motif-theme-dark .roles-empty-state,
body.motif-theme-dark .permissions-empty-state {
  background-color: var(--motif-background-color-card, #23232f) !important;
  border-color: var(--motif-border-color, #33333e) !important;
}
body.motif-theme-dark .permission-module-view {
  border-color: var(--motif-border-color, #33333e);
  background-color: var(--motif-background-color-card, #23232f);
}
body.motif-theme-dark .permissions-summary {
  background-color: var(--motif-background-color-hover, #2a2a35);
}
body.motif-theme-dark .add-role-form {
  background-color: var(--motif-background-color-hover, #2a2a35);
}
body.motif-theme-dark .user-details-tabs {
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .permission-row {
  border-bottom-color: var(--motif-border-color, #33333e);
}
body.motif-theme-dark .user-details-tabs .tab-badge {
  background-color: #1a1a24;
}
body.motif-theme-dark .users-list-header .users-title .users-count-badge {
  background-color: var(--motif-background-color-hover, #2a2a35);
}
body.motif-theme-dark .roles-grid-container .ag-root-wrapper {
  border-color: var(--motif-border-color, #33333e);
}#root,
html,
body {
  margin: 0;
  height: 100%;
  width: 100%;
}

.projects-dashboard-wrapper {
  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  overflow: hidden;
}

.projects-dashboard-content {
  display: flex;
  flex-direction: column;
  flex: 1;
  overflow: hidden;
}

.projects-dashboard-content--hidden {
  display: none;
}

.project-tab-bar ~ .projects-dashboard-content .page-header-home {
  margin-top: 8px;
}

.page-header-home {
  background-color: #fff;
  margin-bottom: 8px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  flex-shrink: 0;
}
.page-header-home .page-title {
  font-size: 20px;
  font-weight: 700;
  margin: 0;
}
.page-header-home .page-header-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.page-header-home .view-toggle {
  display: flex;
  background-color: #f0f0f0;
  border-radius: 4px;
  padding: 3px;
}
.page-header-home .view-toggle .view-toggle-btn {
  padding: 6px 16px;
  border: none;
  background: transparent;
  font-size: 13px;
  font-weight: 700;
  color: #747480;
  cursor: pointer;
  border-radius: 3px;
}
.page-header-home .view-toggle .view-toggle-btn:hover {
  color: #2e2e38;
}
.page-header-home .view-toggle .view-toggle-btn.active {
  background-color: #ffffff;
  color: #2e2e38;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
}
.page-header-home .page-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}
.page-header-home .page-actions .motif-button {
  display: flex;
  align-items: center;
  gap: 4px;
}

body.motif-theme-dark .page-header-home {
  background-color: #23232d;
  border-bottom-color: #3d3d47;
}
body.motif-theme-dark .page-header-home .page-title {
  color: #fff;
}
body.motif-theme-dark .page-header-home .view-toggle {
  background-color: #33333d;
}
body.motif-theme-dark .page-header-home .view-toggle .view-toggle-btn {
  color: #a0a0b0;
}
body.motif-theme-dark .page-header-home .view-toggle .view-toggle-btn:hover {
  color: #fff;
}
body.motif-theme-dark .page-header-home .view-toggle .view-toggle-btn.active {
  background-color: #44444e;
  color: #fff;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}

.panel-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 8px 12px 8px 16px;
  background-color: #fafafa;
  border-bottom: 1px solid #e1e1e6;
  flex-shrink: 0;
}
.panel-header h3 {
  font-size: 13px;
  font-weight: 700;
  color: #2e2e38;
  margin: 0;
  text-transform: none;
}
.panel-header .motif-icon-button {
  padding: 4px;
  min-width: auto;
  width: 28px;
  height: 28px;
}

body.motif-theme-dark .panel-header {
  background-color: #1a1a24;
  border-bottom-color: #3d3d47;
}
body.motif-theme-dark .panel-header h3 {
  color: #fff;
}

.dashboard-panel {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

body.motif-theme-dark .dashboard-panel {
  background-color: #23232d;
}

.projects-header {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  padding: 8px 12px;
  background-color: #f8f8f8;
  border-bottom: 1px solid #e0e0e0;
  gap: 8px;
}
.projects-header .motif-button {
  display: flex;
  align-items: center;
  gap: 4px;
}

.b-theme-classic-dark .projects-header {
  background-color: #23232d;
  border-bottom-color: #3d3d47;
}

.sidebar-container {
  position: absolute;
  top: 0;
  left: 0;
  width: 600px;
  height: 100%;
  background-color: var(--vertical-navigation--bg-color);
  color: white;
  overflow-y: auto;
  padding: 10px;
  border-left: 1px solid var(--vertical-navigation--border-color);
}

.motif-sidebar-right-overlay {
  /* top: '100px';
  height: 'calc(100% - 300px)'; */
  /* '--collapsed-width': '0' */
  width: 300px !important;
}

.demo-overlay {
  position: absolute;
  z-index: 10;
  padding: 10px;
  top: 200px;
  left: 35px;
  width: 300px;
  height: 475px;
  background-color: var(--vertical-navigation--bg-color);
  border: 1px solid var(--vertical-navigation--border-color);
}

.demo-overlay h4 {
  margin-top: 0px;
  padding-top: 0px;
}

.ag-grid-webmap-demo {
  position: absolute;
  height: 100%;
}

.webmap-container {
  position: relative;
  height: 100%;
  width: 100%;
}

.webmap-well-data-container {
  height: 100%;
  width: 100%;
}

.webmap-ag-grid-container {
  height: 100%;
  width: 100%;
}

.main-content {
  display: flex;
  height: 100%;
  overflow: hidden;
  width: 100%;
  background-color: transparent;
}
.main-content .table-container {
  overflow: auto;
  min-width: 200px;
  width: auto;
  padding: 0px 0px 0px 0px;
  height: 100%;
}
.main-content .resize-handle {
  background-color: #e0e0e0;
  cursor: col-resize;
  height: 100%;
}
.main-content .resize-handle:hover {
  background-color: #ccc;
}
.main-content .charts-container {
  display: flex;
  flex-direction: column;
  overflow: auto;
  padding: 0px 0px 0px 0px;
  height: 100%;
  gap: 8px;
  width: auto;
  border-radius: 8px;
}
.main-content .chart-card {
  gap: 8px;
  height: 100%;
  overflow: auto;
  width: 100%;
}
.main-content .p-splitter.p-component.p-splitter-horizontal,
.main-content .p-splitter.p-component,
.main-content .p-splitter.p-splitter-gutter,
.main-content .p-splitter-panel.p-component,
.main-content .p-splitter-gutter.p-component,
.main-content .p-splitter-gutter-handle.p-component {
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  font-family: inherit !important;
  font-size: inherit !important;
  font-weight: inherit !important;
  line-height: inherit !important;
  color: inherit !important;
  background-color: transparent !important;
  background-image: none !important;
}
.main-content .p-splitter.p-component.p-splitter-horizontal .p-splitter-gutter {
  background-color: transparent !important;
  background-image: none !important;
  background: transparent !important;
}
.main-content {
  /* Support for CSS custom properties for panel sizing */
}
.main-content .p-splitter-panel.left-panel {
  /* Only apply when using CSS vars approach to preserve draggability */
}
.main-content .p-splitter-panel.left-panel[data-use-css-vars=true] {
  flex-basis: var(--splitter-left-size) !important;
}
.main-content .p-splitter-panel.p-d-flex {
  /* Only apply when using CSS vars approach to preserve draggability */
}
.main-content .p-splitter-panel.p-d-flex[data-use-css-vars=true] {
  flex-basis: var(--splitter-right-size) !important;
}

body.motif-theme-dark .p-splitter-gutter {
  border: 1px dotted #11111e;
  border-radius: 3px;
}
body.motif-theme-dark .p-splitter-gutter-handle {
  border: 4px solid #A0A0A0 !important;
  border-radius: 3px;
}

body.motif-theme-light .p-splitter-gutter {
  border: 1px dotted #e6e6e9;
}
body.motif-theme-light .p-splitter-gutter-handle {
  border: 4px solid #A0A0A0 !important;
  border-radius: 3px;
}

.project-webmap-splitter .p-splitter-panel {
  min-width: 0;
  overflow: hidden;
}
.project-webmap-splitter .p-splitter-panel:last-child[style*="flex-basis: 0%"],
.project-webmap-splitter .p-splitter-panel:last-child[style*="flex-basis: calc(0%"] {
  display: none !important;
  width: 0 !important;
  min-width: 0 !important;
  flex-basis: 0 !important;
}
.project-webmap-splitter:has(.p-splitter-panel:last-child[style*="flex-basis: 0%"]) .p-splitter-gutter, .project-webmap-splitter:has(.p-splitter-panel:last-child[style*="flex-basis: calc(0%"]) .p-splitter-gutter {
  display: none !important;
}
.project-webmap-splitter.grid-expanded .p-splitter-gutter {
  display: none !important;
}
.project-webmap-splitter.grid-expanded .p-splitter-panel:last-child {
  display: none !important;
  width: 0 !important;
  flex-basis: 0 !important;
}

.projects-dashboard-container {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  gap: 8px;
  min-width: 800px;
}

.header-bar {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 8px;
  width: 250px;
}

.projects-search-bar {
  padding: 8px;
  border: 1px solid #ccc;
  border-radius: 4px;
}

.main-content .p-splitter {
  background: transparent !important;
  border: 0px !important;
}

.main-content .p-splitter-gutter {
  background: transparent !important;
}

.cards-container {
  display: flex;
  flex-direction: row;
  gap: 8px;
  height: 80px;
  width: 100%;
}

.header-card {
  width: 25% !important;
  height: 100% !important;
}

.header-card-content {
  height: 30px;
  font-size: 22px !important;
  padding-top: 5px;
}

.main-content {
  display: flex;
  height: 100%;
  overflow: hidden;
  width: 100%;
  background-color: transparent;
}
.main-content .table-container {
  overflow: auto;
  min-width: 200px;
  width: auto;
  padding: 0px 0px 0px 0px;
  height: 100%;
}
.main-content .resize-handle {
  background-color: #e0e0e0;
  cursor: col-resize;
  height: 100%;
}
.main-content .resize-handle:hover {
  background-color: #ccc;
}
.main-content .charts-container {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
  height: 100%;
  gap: 8px;
  width: auto;
}
.main-content .map-panel {
  display: flex;
  flex-direction: column;
  flex: 1;
  height: 100%;
  overflow: hidden;
}
.main-content .map-panel .webmap-container {
  flex: 1;
  min-height: 0;
}
.main-content .map-panel .webmap-mount-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}
.main-content .chart-card {
  gap: 8px;
  height: 100%;
  overflow: auto;
  width: 100%;
}
.main-content .map-card {
  gap: 0px;
  height: 100%;
  overflow: auto;
  width: 100%;
  padding: 0px !important;
}

.actions-menu {
  margin-top: 0px;
  width: 150px;
}

.actions-menu h3,
.actions-menu h4 {
  margin: 8px 0;
}

.motif-card-body.header-card-body {
  height: 30px;
  text-align: center;
  vertical-align: top;
  overflow: hidden;
}

.motif-card-orientation-horizontal.header-card {
  gap: 0px;
}

.motif-card-orientation-horizontal.header-card-body {
  height: 80px;
}

.motif-card-border.header-card {
  padding: 10px;
}

.motif-card-header {
  align-items: center !important;
  font-weight: bold;
  text-align: center;
  display: inline !important;
}

.motif-card-subheader {
  text-align: center;
  align-items: center;
  display: inline !important;
}

.motif-body1-default-light.header-card-body {
  font-size: 1.5rem;
  line-height: 1.1rem;
  vertical-align: top;
  margin: 5px;
}

.create-projects-button {
  width: 100%;
  margin-left: 0px;
}

.alert-toolbar-container {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  margin-bottom: 1rem;
  max-height: 50px;
}
.alert-toolbar-container .fixed-height-alerts {
  flex: 1;
  min-height: 60px;
  position: relative;
  min-width: 500px;
}
.alert-toolbar-container .fixed-height-alerts::after {
  content: "";
  display: block;
  min-height: inherit;
}
.alert-toolbar-container .entity-toolbar {
  justify-content: flex-end;
}

.projects-dashboard-loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}.create-project-form {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.create-project-form .loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 60px 20px;
  text-align: center;
  color: #747480;
  font-size: 14px;
  height: 100%;
}
.create-project-form .error-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 60px 20px;
  text-align: center;
  color: #f95d54;
  font-size: 14px;
  height: 100%;
}
.create-project-form .error-state p {
  margin-bottom: 8px;
}
.create-project-form .jsonforms-container {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 4px;
}
.create-project-form .validation-summary {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  margin-top: 12px;
  background-color: rgba(249, 93, 84, 0.08);
  border-radius: 4px;
}
.create-project-form .validation-summary .validation-summary-text {
  color: #f95d54;
  font-size: 13px;
  font-weight: 500;
}
.create-project-form .motif-form-field.disabled, .create-project-form .motif-form-field[disabled] {
  opacity: 0.6;
  pointer-events: none;
}
.create-project-form .field-readonly .motif-input,
.create-project-form .field-readonly .motif-select {
  background-color: #f5f5f5;
  color: #747480;
  cursor: not-allowed;
}
.create-project-form .motif-input[placeholder="From Schedule"]::placeholder,
.create-project-form .motif-select[placeholder="From Schedule"]::placeholder {
  color: #0f69ae;
  font-style: italic;
}
.create-project-form .form-section {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e0e0e0;
}
.create-project-form .form-section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}
.create-project-form .form-section .section-title {
  font-size: 13px;
  font-weight: 600;
  color: #747480;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.create-project-form .form-section .section-title .asset-type-hint {
  font-weight: 400;
  text-transform: none;
  color: #999;
}
.create-project-form .form-row {
  display: flex;
  gap: 16px;
}
.create-project-form .form-row > * {
  flex: 1;
}
.create-project-form [class*=horizontal-layout]:not([class*=horizontal-layout-item]),
.create-project-form .horizontal-layout {
  display: flex;
  gap: 16px;
  flex-wrap: wrap;
}
.create-project-form [class*=horizontal-layout]:not([class*=horizontal-layout-item]) > *,
.create-project-form .horizontal-layout > * {
  flex: 1;
  min-width: 180px;
}
@media (max-width: 500px) {
  .create-project-form [class*=horizontal-layout]:not([class*=horizontal-layout-item]),
  .create-project-form .horizontal-layout {
    flex-direction: column;
  }
  .create-project-form [class*=horizontal-layout]:not([class*=horizontal-layout-item]) > *,
  .create-project-form .horizontal-layout > * {
    min-width: 100%;
  }
}
.create-project-form .form-help {
  font-size: 12px;
  color: #747480;
  margin-top: 4px;
}
.create-project-form .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 20px;
  margin-top: auto;
  border-top: 1px solid #e0e0e0;
}
.create-project-form .motif-form-field {
  margin-bottom: 16px;
}
.create-project-form .motif-form-field:last-child {
  margin-bottom: 0;
}
.create-project-form .motif-label {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
}
.create-project-form .motif-input,
.create-project-form .motif-select {
  width: 100%;
}
.create-project-form .motif-date-picker,
.create-project-form [class*=motif-date-picker] {
  width: 100%;
  max-width: 100%;
}
.create-project-form .motif-date-picker input,
.create-project-form [class*=motif-date-picker] input {
  width: 100%;
}
.create-project-form .motif-form-field .react-date-picker,
.create-project-form .motif-form-field .react-date-picker__wrapper {
  width: 100%;
}
.create-project-form .motif-error-message {
  margin-top: 4px;
}

body.motif-theme-dark .create-project-form .form-section {
  border-bottom-color: #3d3d47;
}
body.motif-theme-dark .create-project-form .form-section .section-title {
  color: #a0a0a8;
}
body.motif-theme-dark .create-project-form .form-section .section-title .asset-type-hint {
  color: #666;
}
body.motif-theme-dark .create-project-form .form-help {
  color: #a0a0a8;
}
body.motif-theme-dark .create-project-form .form-actions {
  border-top-color: #3d3d47;
}
body.motif-theme-dark .create-project-form .validation-summary {
  background-color: rgba(196, 38, 46, 0.1);
}
body.motif-theme-dark .create-project-form .validation-summary .validation-summary-text {
  color: #ff6b6b;
}
body.motif-theme-dark .form-error-fallback {
  background-color: rgba(196, 38, 46, 0.1);
  color: #ff6b6b;
}
body.motif-theme-dark .form-error-fallback pre {
  color: #a0a0a8;
}.project-tab-bar {
  display: flex;
  align-items: stretch;
  background-color: #f5f5f7;
  border-bottom: 1px solid #e1e1e6;
  flex-shrink: 0;
  padding: 8px 16px 0;
}
.project-tab-bar .back-to-projects {
  padding: 8px 20px;
  font-size: 12px;
  font-weight: 700;
  color: #747480;
  background: transparent;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  white-space: nowrap;
  margin-right: 4px;
  position: relative;
  bottom: -1px;
}
.project-tab-bar .back-to-projects:hover {
  color: #2e2e38;
  background-color: #ebebed;
}
.project-tab-bar .back-to-projects.active {
  background-color: #fff;
  color: #2e2e38;
  border-color: #e1e1e6;
}
.project-tab-bar .project-tabs {
  display: flex;
  overflow-x: auto;
  overflow-y: hidden;
  flex: 1;
  gap: 4px;
}
.project-tab-bar .project-tabs::-webkit-scrollbar {
  height: 4px;
}
.project-tab-bar .project-tabs::-webkit-scrollbar-track {
  background: transparent;
}
.project-tab-bar .project-tabs::-webkit-scrollbar-thumb {
  background: #c4c4cd;
  border-radius: 2px;
}
.project-tab-bar .project-tab {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  font-size: 12px;
  font-weight: 700;
  color: #747480;
  background: transparent;
  border: 1px solid transparent;
  border-bottom: none;
  border-radius: 6px 6px 0 0;
  cursor: pointer;
  transition: all 0.15s ease-in-out;
  white-space: nowrap;
  position: relative;
  bottom: -1px;
}
.project-tab-bar .project-tab:hover {
  color: #2e2e38;
  background-color: #ebebed;
}
.project-tab-bar .project-tab.active {
  color: #2e2e38;
  background-color: #fff;
  border-color: #e1e1e6;
}
.project-tab-bar .project-tab .tab-label {
  display: flex;
  align-items: center;
  gap: 6px;
}
.project-tab-bar .project-tab .dirty-dot {
  width: 6px;
  height: 6px;
  background-color: #ff810a;
  border-radius: 50%;
}
.project-tab-bar .project-tab .close-tab {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 2px;
  border-radius: 3px;
  color: #a1a1a6;
  transition: all 0.15s ease-in-out;
}
.project-tab-bar .project-tab .close-tab:hover {
  background-color: #e1e1e6;
  color: #f95d54;
}

body.motif-theme-dark .project-tab-bar {
  background-color: #1a1a24;
  border-bottom-color: #3d3d47;
}
body.motif-theme-dark .project-tab-bar .back-to-projects {
  color: #a1a1a6;
}
body.motif-theme-dark .project-tab-bar .back-to-projects:hover {
  color: #fff;
  background-color: #2e2e38;
}
body.motif-theme-dark .project-tab-bar .back-to-projects.active {
  background-color: #23232d;
  color: #fff;
  border-color: #3d3d47;
}
body.motif-theme-dark .project-tab-bar .project-tabs::-webkit-scrollbar-thumb {
  background: #4d4d5d;
}
body.motif-theme-dark .project-tab-bar .project-tab {
  color: #a1a1a6;
}
body.motif-theme-dark .project-tab-bar .project-tab:hover {
  color: #fff;
  background-color: #2e2e38;
}
body.motif-theme-dark .project-tab-bar .project-tab.active {
  color: #fff;
  background-color: #23232d;
  border-color: #3d3d47;
}
body.motif-theme-dark .project-tab-bar .project-tab .close-tab:hover {
  background-color: #3d3d47;
}.project-header-form {
  display: flex;
  flex-direction: column;
  flex: 0 0 auto;
  min-height: 100%;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 12px;
}
.project-header-form .loading-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  gap: 16px;
  padding-top: 32px;
  text-align: center;
}
.project-header-form .project-header-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  padding-top: 32px;
}
.project-header-form .form-section {
  margin-bottom: 24px;
  padding-bottom: 24px;
  border-bottom: 1px solid #e0e0e0;
}
.project-header-form .form-section:last-of-type {
  border-bottom: none;
  margin-bottom: 0;
}
.project-header-form .form-section .section-title {
  font-size: 13px;
  font-weight: 600;
  color: #747480;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 16px;
}
.project-header-form .form-row {
  display: flex;
  gap: 16px;
}
.project-header-form .form-row > * {
  flex: 1;
}
.project-header-form .form-help {
  font-size: 12px;
  color: #747480;
  margin-top: 4px;
}
.project-header-form .form-actions {
  display: flex;
  justify-content: flex-end;
  gap: 12px;
  padding-top: 20px;
  margin-top: 24px;
  border-top: 1px solid #e0e0e0;
}
.project-header-form .assets-display {
  background-color: #f8f8f8;
  border-radius: 4px;
  padding: 12px;
  min-height: 60px;
}
.project-header-form .assets-display .asset-list {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.project-header-form .assets-display .asset-item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  background-color: #fff;
  border: 1px solid #e0e0e0;
  border-radius: 4px;
}
.project-header-form .assets-display .asset-item .asset-id {
  font-family: monospace;
  font-size: 13px;
  color: #2e2e38;
}
.project-header-form .assets-display .asset-item .primary-badge {
  font-size: 11px;
  font-weight: 600;
  color: #155724;
  background-color: #d4edda;
  padding: 2px 6px;
  border-radius: 3px;
  text-transform: uppercase;
}
.project-header-form .assets-display .no-assets {
  color: #747480;
  font-style: italic;
  text-align: center;
  padding: 12px;
}
.project-header-form .motif-form-field {
  margin-bottom: 16px;
}
.project-header-form .motif-form-field:last-child {
  margin-bottom: 0;
}
.project-header-form .motif-label {
  font-size: 14px;
  font-weight: 500;
  margin-bottom: 6px;
}
.project-header-form .motif-input,
.project-header-form .motif-select,
.project-header-form .motif-textarea {
  width: 100%;
}
.project-header-form .motif-error-message {
  margin-top: 4px;
}
.project-header-form.readonly .motif-input,
.project-header-form.readonly .motif-select,
.project-header-form.readonly .motif-textarea {
  background-color: #f5f5f5;
  cursor: default;
}
.project-header-form .validation-errors {
  margin-top: 16px;
  padding: 12px 16px;
  background-color: rgba(249, 93, 84, 0.08);
  border: 1px solid rgba(249, 93, 84, 0.3);
  border-radius: 4px;
}
.project-header-form .validation-errors ul {
  margin: 0;
  padding-left: 20px;
}
.project-header-form .validation-errors .error-item {
  color: #f95d54;
  font-size: 13px;
  line-height: 1.5;
}
.project-header-form .jsonforms-container {
  flex: 1 1 auto;
  min-height: 0;
}
.project-header-form .jsonforms-container .motif-group-layout:first-child {
  margin-top: 0;
}

body.motif-theme-dark .project-header-form {
  background-color: #23232d;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
body.motif-theme-dark .project-header-form .loading-state {
  color: #a0a0a8;
}
body.motif-theme-dark .project-header-form .form-section {
  border-bottom-color: #3d3d47;
}
body.motif-theme-dark .project-header-form .form-section .section-title {
  color: #a0a0a8;
}
body.motif-theme-dark .project-header-form .form-help {
  color: #a0a0a8;
}
body.motif-theme-dark .project-header-form .form-actions {
  border-top-color: #3d3d47;
}
body.motif-theme-dark .project-header-form .assets-display {
  background-color: #1a1a24;
}
body.motif-theme-dark .project-header-form .assets-display .asset-item {
  background-color: #2e2e38;
  border-color: #3d3d47;
}
body.motif-theme-dark .project-header-form .assets-display .asset-item .asset-id {
  color: #f0f0f0;
}
body.motif-theme-dark .project-header-form .assets-display .asset-item .primary-badge {
  color: #4dd092;
  background-color: rgba(45, 167, 113, 0.2);
}
body.motif-theme-dark .project-header-form .assets-display .no-assets {
  color: #a0a0a8;
}
body.motif-theme-dark .project-header-form.readonly .motif-input,
body.motif-theme-dark .project-header-form.readonly .motif-select,
body.motif-theme-dark .project-header-form.readonly .motif-textarea {
  background-color: #1a1a24;
}
body.motif-theme-dark .project-header-form .validation-errors {
  background-color: rgba(249, 93, 84, 0.12);
  border-color: rgba(249, 93, 84, 0.4);
}
body.motif-theme-dark .project-header-form .validation-errors .error-item {
  color: #f87171;
}#root,
html,
body {
  margin: 0;
  height: 100%;
  width: 100%;
}
arcgis-map {
  display: block;
  height: 100vh;
}

/* Make the map container take up the full viewport */
arcgis-map {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
  margin: 0;
  padding: 0;
  z-index: 0;
}

/* Ensure parent containers don't restrict size */
.arcgis-map-container,
.map-wrapper {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

.map-wrapper {
  --edit-drawer-width: min(380px, 92%);
}

.network-focus-window-overlay {
  position: absolute;
  inset: 0 auto 0 0;
  height: 100%;
  z-index: 5;
  pointer-events: none;
}

.map-toolbar-container {
  z-index: 10;
}

.map-wrapper--top-toolbar {
  container-type: size;
}

.map-anchored-layer-panel {
  position: absolute;
  left: 0;
  z-index: 10;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  padding-right: 10px;
  pointer-events: none;
  transition: width 180ms ease;
}

.map-anchored-layer-panel__content {
  position: relative;
  width: min(340px, 100%);
  min-width: 0;
  pointer-events: auto;
}

.map-anchored-layer-panel .layer-panel {
  width: 100%;
  min-width: 0;
}

.filtering {
  position: relative;
  width: 100%;
  height: 100%;
  margin: 0;
  overflow: hidden;
}

/* Full-screen (pop-out) toggle: lift the map wrapper out to fill the viewport. The inner
   arcgis-map is already position:absolute/100%, so it fills this fixed container. */
.map-wrapper--fullscreen {
  position: fixed;
  inset: 0;
  width: 100vw;
  height: 100vh;
  z-index: 1000;
  background: var(--body--bg-color, #fff);
}

.borderless-button {
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
}

/* Offset widgets at bottom-right to avoid toolbar overlap */
/* .esri-ui-bottom-right {
  bottom: 60px !important; 
} */

.arcgis-map-container .esri-ui-top-right {
  top: 35px !important;
  right: -5px !important;
}

.map-wrapper--top-toolbar .arcgis-map-container .esri-ui-top-right {
  top: calc(var(--map-widget-top) - 15px) !important;
}

@container (max-width: 860px) {
  .map-wrapper--top-toolbar .arcgis-map-container .esri-ui-top-left {
    top: calc(var(--map-widget-top) + 8px) !important;
  }
}

/*
 * The MapView container is display:flex and ESRI's internal .esri-view-root is a
 * flex child with `flex: 1 1 100%` and the default `min-width: auto`. That min-width
 * keeps the root from shrinking below its creation-time content width, so when the
 * map is embedded in a resizable/splitter panel the root (and the .esri-ui anchored
 * to its right edge) stay frozen at the wider initial size and get clipped off-screen.
 * Forcing min-width/min-height to 0 lets the root track the container as it resizes.
 */
.arcgis-map-container.esri-view > .esri-view-root,
.arcgis-map-container .esri-view-root,
.arcgis-map-container .esri-view-surface,
.arcgis-map-container .esri-overlay-surface {
  min-width: 0 !important;
  min-height: 0 !important;
}

/* BasemapGallery Grid Layout Customization */
.arcgis-map-container .esri-basemap-gallery {
  width: 320px !important;
  max-height: 560px;
}

.arcgis-map-container .esri-basemap-gallery__item-container {
  display: grid !important;
  grid-template-columns: repeat(2, 1fr) !important;
  gap: 12px !important;
  padding: 12px !important;
  padding-right: calc(12px + 0.25rem) !important;
  justify-items: center !important;
  align-content: start;
  box-sizing: border-box;
  max-height: inherit;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-gutter: stable;
}

.esri-basemap-gallery__item {
  width: 110px !important;
  height: auto !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  margin: 0 !important;
}

.esri-basemap-gallery__item-thumbnail {
  width: 110px !important;
  height: 110px !important;
  object-fit: cover !important;
}

.esri-basemap-gallery__item-title {
  width: 100% !important;
  text-align: center !important;
  margin-top: 8px !important;
  font-size: 12px !important;
  line-height: 1.2 !important;
}

/* Dark theme support for BasemapGallery */
body.calcite-mode-dark .esri-basemap-gallery,
:root[data-theme='dark'] .esri-basemap-gallery {
  background-color: #242424;
  color: white;
}

body.calcite-mode-dark .esri-basemap-gallery__item,
:root[data-theme='dark'] .esri-basemap-gallery__item {
  background-color: #2f2f2f;
  border-color: #3a3a3a;
}

body.calcite-mode-dark .esri-basemap-gallery__item:hover,
:root[data-theme='dark'] .esri-basemap-gallery__item:hover {
  background-color: #3a3a3a;
}

.webmap-container {
  height: 100%;
  width: 100%;
}

.map-operation-overlay {
  position: absolute;
  inset: 0;
  z-index: 40;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: all;
  background: rgba(46, 46, 56, 0.34);
  backdrop-filter: grayscale(35%);
}

.map-operation-overlay__spinner {
  font-size: 3rem;
  color: var(--body--bg-color, #ffffff);
  animation: map-operation-spin 0.9s linear infinite;
  filter: drop-shadow(0 4px 10px rgba(0, 0, 0, 0.35));
}

@keyframes map-operation-spin {
  from {
    transform: rotate(0deg);
  }

  to {
    transform: rotate(360deg);
  }
}

.loading {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  width: 100%;
  padding: 2rem;
}

/*
 * Scoped to the map only: the initial loading overlay now stays up while the map view
 * initialises (token resolved but tiles/features not yet drawn), so it renders as a
 * sibling of the map container. Position it absolutely so it covers the half-loaded map
 * instead of pushing it out of flow. Other `.loading` usages are unaffected.
 */
.map-wrapper > .loading {
  position: absolute;
  inset: 0;
  z-index: 45;
  height: auto;
  width: auto;
  /* Translucent grey (matches .map-operation-overlay) so the basemap/zoom animation is
     visible behind the spinner as the map frames its features, instead of an opaque cover. */
  background: rgba(46, 46, 56, 0.34);
  backdrop-filter: grayscale(35%);
}

/* .map-blanket {
  position: absolute;
  top: 0;
  left: 0;
  width: 25%;
  height: 25%;
  background-color: yellow;  
  z-index: 10;  
} */

.feature-list {
  background: #fff;
  border: 1px solid #ccc;
  margin: 1rem 0;
  padding: 1rem;
  max-height: 300px;
  overflow-y: auto;
}
.feature-list ul {
  list-style: none;
  padding: 0;
  margin: 0;
}
.feature-list li {
  padding: 0.25rem 0;
  border-bottom: 1px solid #eee;
}

/* Layer List Widget Styling */
.esri-layer-list {
  background: rgba(255, 255, 255, 0.95);
  max-height: 400px;
  overflow-y: auto;
}

.esri-layer-list__item {
  border-bottom: 1px solid #e0e0e0;
}

.esri-layer-list__item:last-child {
  border-bottom: none;
}

/**********************************************************/
/* ESRI widget styling                                    */
/**********************************************************/

.arcgis-map-container .esri-widget {
  background-color: var(--filters-search--bg-color) !important  ;
  color: var(--header-search--color) !important;
  border-radius: 4px !important;
}

/* .arcgis-map-container .esri-search__container {
  width: 100% !important;
  background-color: var(--filters-search--bg-color) !important  ;
} */

/* .arcgis-map-container .esri-search__form {
  width: 100% !important;
  background-color: var(--filters-search--bg-color) !important;

  .input {
    width: 100% !important;
    font-size: var(--font-size-base);
    font-family: var(--primary-font);
    background-color: var(--filters-search--bg-color) !important;
  }
} */

.arcgis-map-container .esri-item-list__group__header {
  padding-inline: 25px !important;
}

.arcgis-map-container calcite-flow {
  --filters-search--bg-color: var(--body--bg-color) !important;
  --calcite-color-background: var(--body--bg-color) !important;
  --calcite-color-text-1: var(--body--color) !important;
  --calcite-color-text-2: var(--body--color) !important;
  --calcite-color-foreground-1: var(--body--bg-color) !important;
  --calcite-panel-header-background-color: var(--body--bg-color) !important;
  --calcite-color-foreground-2: var(--form-element-hover--border-color) !important;
  --calcite-action-background-color-pressed: var(--form-element-hover--border-color) !important;
  --calcite-color-foreground-3: var(--form-element-hover--border-color) !important;
}

/*******************************************************/
/* Search Widget Styling                               */
/*******************************************************/

.esri-search {
  width: 300px !important;
}

.esri-search__container {
  height: 28px; /* set height so the drop-down button matches the height of the input field */
}

/* override dropdown background color and text color in search widget... required because the styled element is in a #shadow-root */
.arcgis-map-container .esri-search__dropdown {
  --calcite-color-foreground-1: var(--filters-search--bg-color) !important;
  --calcite-color-text-1: var(--body--color) !important;
  --calcite-color-text-3: var(--body--color) !important;
  --calcite-color-foreground-2: var(--form-element-hover--border-color) !important;
}

.arcgis-map-container .esri-search__autocomplete {
  width: 100% !important;
  background-color: var(--filters-search--bg-color) !important;
}

.arcgis-map-container .esri-search__submit-button {
  display: none !important;
}

/* Override default text color in autocomplete items by setting calcite variables to get results inside #shadow-root of the calcite-autocomplete-item */
.arcgis-map-container calcite-autocomplete-item {
  --calcite-color-text-1: var(--body--color) !important;
  --calcite-color-text-3: var(--body--color) !important;
  --calcite-autocomplete-text-color: var(--body--color) !important;
  --calcite-color-foreground-1: var(--body--bg-color) !important;
  --calcite-color-foreground-2: var(--form-element-hover--border-color) !important;
  --calcite-input-background-color: var(--form-element-bg-color) !important;
}

.arcgis-map-container calcite-autocomplete {
  --calcite-color-text-1: var(--body--color) !important;
  --calcite-color-text-3: var(--body--color) !important;
  --calcite-color-foreground-2: var(--form-element-hover--border-color) !important;
  --calcite-input-background-color: var(--form-element-bg-color) !important;
  --calcite-color-foreground-1: var(--body--bg-color) !important;
}

/*********************************************/
/* override styles on basemap gallery widget */
/*********************************************/

.arcgis-map-container .esri-basemap-gallery:focus-within {
  outline: none !important;
  outline-offset: 0 !important;
  z-index: auto !important;
}

.arcgis-map-container .esri-basemap-gallery.esri-widget--panel {
  border-radius: 4px !important;
  overflow: hidden !important;
}

.arcgis-map-container .esri-basemap-gallery__item-title {
  color: var(--header-search--color) !important;
}

.arcgis-map-container .esri-basemap-gallery__item--selected {
  background-color: var(--select-option-selected--bg-color) !important;
}

.arcgis-map-container .esri-basemap-gallery__item {
  border-top: 0;
}

.arcgis-map-container .esri-basemap-gallery__item:hover {
  background-color: var(--select-option-hover--bg-color) !important;
}

/***********************************************/
/* override font color on legend arcgis widget */
/***********************************************/

.arcgis-map-container .esri-widget__heading {
  color: var(--header-search--color) !important;
}

/*******************************************************/
/* Custom styles for duplicate button in feature popup */
/*******************************************************/

.custom-duplicate-btn {
  display: block;
  width: 100%;
  padding: 6px;
  margin-top: 8px;
  background: #0079c1;
  color: white;
  border: none;
  cursor: pointer;
  font-size: 14px;
  text-align: center;
}
.custom-duplicate-btn:hover {
  background: #005a87;
}

/*******************************************************/
/* Print Widget Styling (Motif light/dark)             */
/*******************************************************/

/*
 * The app loads the Esri *dark* theme globally (see main.scss @import of
 * esri/themes/dark/main.css), so every widget defaults to dark colors. The Print
 * widget additionally HARDCODES dark surfaces (#242424 / #303030) and greyscale
 * text (#adadad / #d1d1d1) that don't follow any CSS variable, so it only looked
 * right in Motif dark mode. Like the search / basemap / editor widgets above,
 * re-map the Print widget's surfaces, text, tabs and form controls to Motif theme
 * variables so it follows Motif light AND dark mode. Scoped to the print widget so
 * the shared .esri-input / .esri-select primitives elsewhere are untouched.
 */

/* Re-map Calcite design tokens for token-based bits (e.g. the export divider,
   which uses var(--calcite-color-border-3)). */
.arcgis-map-container .esri-print {
  --calcite-color-text-1: var(--body--color) !important;
  --calcite-color-text-2: var(--body--color) !important;
  --calcite-color-text-3: var(--header-search--color) !important;
  --calcite-color-foreground-1: var(--filters-search--bg-color) !important;
  --calcite-color-foreground-2: var(--form-element-hover--border-color) !important;
  --calcite-color-border-1: var(--form-element-hover--border-color) !important;
  --calcite-color-border-2: var(--form-element-hover--border-color) !important;
  --calcite-color-border-3: var(--form-element-hover--border-color) !important;
}

/* Main content + advanced-options surface (hardcoded #242424). */
.arcgis-map-container .esri-print__content {
  background-color: var(--filters-search--bg-color) !important;
  color: var(--body--color) !important;
}

/* Layout tab strip + tabs (hardcoded #303030 background, #adadad text). */
.arcgis-map-container .esri-print__layout-tab-list {
  background-color: var(--select-option-hover--bg-color) !important;
}

.arcgis-map-container .esri-print__layout-tab {
  color: var(--header-search--color) !important;
}

.arcgis-map-container .esri-print__layout-tab:hover,
.arcgis-map-container .esri-print__layout-tab:focus {
  color: var(--body--color) !important;
  background-color: var(--select-option-hover--bg-color) !important;
}

/* Active tab: keep Esri's blue top-border indicator, theme the side borders, and
   blend the bottom border into the content surface (mirrors Esri's own recipe). */
.arcgis-map-container .esri-print__layout-tab[aria-selected='true'],
.arcgis-map-container .esri-print__layout-tab[aria-selected='true']:hover {
  color: var(--body--color) !important;
  background-color: var(--filters-search--bg-color) !important;
  border-color: #2493f2 var(--form-element-hover--border-color) var(--filters-search--bg-color) !important;
}

/* Text/number inputs and the layout <select> (hardcoded #242424 / #d1d1d1 /
   #959595). Only background-color is overridden on the select so its dropdown
   arrow background-image is preserved. */
.arcgis-map-container .esri-print__container .esri-input,
.arcgis-map-container .esri-print__container .esri-select {
  background-color: var(--form-element-bg-color) !important;
  color: var(--body--color) !important;
  border-color: var(--form-element-hover--border-color) !important;
}

.arcgis-map-container .esri-print__container .esri-input::placeholder {
  color: var(--header-search--color) !important;
}

/* Template picker box border (hardcoded translucent grey). */
.arcgis-map-container .esri-print__template-select-container {
  border-color: var(--form-element-hover--border-color) !important;
}

/* Exported-file result links (hardcoded #adadad / #d1d1d1). */
.arcgis-map-container .esri-print__exported-file-link,
.arcgis-map-container .esri-print__exported-file-link-title,
.arcgis-map-container .esri-print__exported-file-link-description {
  color: var(--body--color) !important;
}

.arcgis-map-container .esri-print__exported-file-link:hover {
  color: var(--body--color) !important;
  text-decoration: underline !important;
}

.arcgis-map-container .esri-print__advanced-options-section {
  background-color: inherit !important;
}

/* The map components introduced in fc5306be render their former .esri-* widget
   content in shadow roots. Theme their hosts so Motif colors reach nested Calcite
   controls without styling unrelated Calcite components in the application. */
.arcgis-map-container :is(arcgis-search, arcgis-basemap-gallery, arcgis-legend, arcgis-print) {
  --calcite-color-background: var(--body--bg-color);
  --calcite-color-foreground-1: var(--filters-search--bg-color, var(--body--bg-color));
  --calcite-color-foreground-2: var(--select-option-hover--bg-color);
  --calcite-color-foreground-3: var(--select-option-hover--bg-color);
  --calcite-color-text-1: var(--body--color);
  --calcite-color-text-2: var(--header-search--color, var(--body--color));
  --calcite-color-text-3: var(--header-search--color, var(--body--color));
  --calcite-color-border-1: var(--form-element-hover--border-color);
  --calcite-color-border-2: var(--form-element-hover--border-color);
  --calcite-color-border-3: var(--form-element-hover--border-color);
  --calcite-color-border-input: var(--form-element-hover--border-color);
  --calcite-color-brand: var(--focus);
  --calcite-input-background-color: var(--form-element-bg-color);
  --calcite-input-text-color: var(--body--color);
  --calcite-input-placeholder-text-color: var(--header-search--color, var(--body--color));
  color: var(--body--color);
  background-color: var(--filters-search--bg-color, var(--body--bg-color));
  border-radius: 4px;
}

.arcgis-map-container arcgis-search {
  display: flex;
  align-items: center;
  width: 300px;
  max-width: calc(100% - 20px);
  min-height: 34px;
  --arcgis-internal-search-width: 300px;
  --calcite-autocomplete-input-background-color: var(--filters-search--bg-color, var(--body--bg-color));
  --calcite-autocomplete-input-text-color: var(--body--color);
  --calcite-autocomplete-input-placeholder-text-color: var(--header-search--color, var(--body--color));
  --calcite-autocomplete-input-icon-color: var(--header-search--color, var(--body--color));
  --calcite-autocomplete-input-border-color: var(--form-element-hover--border-color);
  --calcite-dropdown-background-color: var(--filters-search--bg-color, var(--body--bg-color));
  --calcite-autocomplete-background-color: var(--filters-search--bg-color, var(--body--bg-color));
  --calcite-autocomplete-text-color: var(--body--color);
}

.arcgis-map-container arcgis-basemap-gallery {
  --arcgis-internal-panel-width: 340px;
  width: 340px;
  max-width: calc(100vw - 24px);
  max-height: min(560px, calc(100vh - 140px));
  overflow-y: auto;
  scrollbar-width: thin;
}

.arcgis-map-container :is(arcgis-legend, arcgis-print) {
  width: 340px;
  max-width: calc(100vw - 24px);
  max-height: min(560px, calc(100vh - 140px));
  overflow-y: auto;
  scrollbar-width: thin;
}

.arcgis-map-container arcgis-legend {
  --arcgis-internal-legend-width: 340px;
}

.arcgis-map-container .esri-measurement {
  width: 340px !important;
  max-width: calc(100vw - 24px);
}

.map-wrapper--top-toolbar .arcgis-map-container :is(arcgis-basemap-gallery, arcgis-legend, arcgis-print) {
  max-height: min(560px, calc(100cqh - var(--map-widget-top) - 12px));
}

/* Hover identify for highlighted features. Sits in the view container rather than on a
   GraphicsLayer so it clears the ArcGIS label pass, which always draws above map graphics. */
.map-highlight-tooltip {
  position: absolute;
  z-index: 10;
  max-width: 320px;
  padding: 6px 8px;
  border-radius: 4px;
  background: rgba(255, 255, 255, 0.97);
  border: 1px solid #d3d3d8;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);
  color: #2e2e38;
  font-size: 11px;
  line-height: 1.45;
  pointer-events: none;
}

.map-highlight-tooltip__title {
  font-weight: 600;
  margin-bottom: 2px;
}

.map-highlight-tooltip__subtitle {
  color: #747480;
  margin-bottom: 4px;
}

.map-highlight-tooltip__heading {
  font-weight: 600;
  margin-top: 6px;
}

.map-highlight-tooltip__list {
  margin: 2px 0 0;
  padding-left: 14px;
  list-style: disc;
}

/* Global list styles add per-item spacing that is far too loose at tooltip scale. */
.map-highlight-tooltip__list li {
  margin: 0;
  padding: 0;
  line-height: 1.3;
}

.map-highlight-tooltip__label {
  color: #747480;
}
@layer{:not([hydrated]):is(arcgis-area-measurement-2d,arcgis-area-measurement-3d,arcgis-attachments,arcgis-basemap-gallery,arcgis-basemap-layer-list,arcgis-basemap-layer-list-next,arcgis-basemap-toggle,arcgis-bookmarks,arcgis-building-explorer,arcgis-catalog-layer-list,arcgis-catalog-layer-list-next,arcgis-compass,arcgis-coordinate-conversion,arcgis-coordinate-conversion-next,arcgis-daylight,arcgis-directional-pad,arcgis-directions,arcgis-direct-line-measurement-3d,arcgis-distance-measurement-2d,arcgis-editor,arcgis-elevation-profile,arcgis-expand,arcgis-exploratory-analysis,arcgis-feature,arcgis-feature-form,arcgis-add-attachment-view,arcgis-attachment-preview,arcgis-attachment-thumbnail,arcgis-attachment-validation-view,arcgis-file-picker,arcgis-feature-next,arcgis-feature-table,arcgis-feature-templates,arcgis-template-image,arcgis-feature-templates-legacy,arcgis-features,arcgis-features-next,arcgis-filter-builder,arcgis-floor-filter,arcgis-fullscreen,arcgis-grid-controls,arcgis-histogram-range-slider,arcgis-home,arcgis-layer-list,arcgis-layer-list-next,arcgis-legend,arcgis-line-of-sight,arcgis-link-chart,arcgis-link-chart-layout-switcher,arcgis-link-chart-nonspatial-visibility-toggle,arcgis-locate,arcgis-map,arcgis-navigation-toggle,arcgis-oriented-imagery-viewer,arcgis-oriented-imagery-viewer-non-panoramic-viewer,arcgis-oriented-imagery-viewer-panoramic-viewer,arcgis-oriented-imagery-viewer-panoramic-viewer-zoom,arcgis-oriented-imagery-viewer-video-controls,arcgis-paste,arcgis-clipboard,arcgis-feature-image,arcgis-feature-title,arcgis-multi-feature-form,arcgis-popup,arcgis-presentation,arcgis-print,arcgis-reverse-geocode-list,arcgis-scale-bar,arcgis-scale-range-slider,arcgis-scene,arcgis-search,arcgis-search-result-renderer,arcgis-selection-list,arcgis-selection-toolbar,arcgis-shadow-cast,arcgis-sketch,arcgis-sketch-tooltip-controls,arcgis-slice,arcgis-slider-binary-color-size-legacy,arcgis-slider-classed-color-legacy,arcgis-slider-classed-size-legacy,arcgis-slider-color-legacy,arcgis-slider-color-size-legacy,arcgis-slider-heatmap-legacy,arcgis-slider-opacity-legacy,arcgis-slider-scale-range,arcgis-slider-size-legacy,arcgis-snapping-controls,arcgis-color-select,arcgis-time-of-day-slider,arcgis-time-zone-chip,arcgis-utility-network-picker,arcgis-webgl-error,arcgis-swipe,arcgis-table-list,arcgis-table-list-next,arcgis-time-bar,arcgis-time-bar-slider,arcgis-time-slider,arcgis-time-zone-label,arcgis-track,arcgis-utility-network-associations,arcgis-utility-network-trace,arcgis-utility-network-trace-analysis,arcgis-utility-network-trace-aggregated-geometry-result-item,arcgis-utility-network-trace-configuration-picker,arcgis-utility-network-trace-elements-result-item,arcgis-utility-network-trace-functions-result-item,arcgis-utility-network-trace-inputs,arcgis-utility-network-trace-locations,arcgis-utility-network-trace-results,arcgis-utility-network-trace-results-pane,arcgis-utility-network-validate-network-topology,arcgis-utility-network-validate-topology,arcgis-value-picker-legacy,arcgis-version-management,arcgis-video,arcgis-video-player,arcgis-view-popover,arcgis-volume-measurement,arcgis-weather,arcgis-zoom){visibility:hidden}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939.BUuJstda.woff2) format("woff2");font-weight:300;font-style:normal;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02.BeQQ1X_f.woff2) format("woff2");font-weight:400;font-style:normal;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d.ph0M7193.woff2) format("woff2");font-weight:400;font-style:italic;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688.Coi0fa6j.woff2) format("woff2");font-weight:500;font-style:normal;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7.0VhhKiIj.woff2) format("woff2");font-weight:700;font-style:normal;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-math.CjJO_J9U.woff2) format("woff2");font-weight:300;font-style:normal;font-display:auto;unicode-range:U+2070-209F,U+20A0-20CF,U+2100-214F,U+22??}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-math.lIkApr1P.woff2) format("woff2");font-weight:400;font-style:normal;font-display:auto;unicode-range:U+2070-209F,U+20A0-20CF,U+2100-214F,U+22??}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d-math.DhSGGw4r.woff2) format("woff2");font-weight:400;font-style:italic;font-display:auto;unicode-range:U+2070-209F,U+20A0-20CF,U+2100-214F,U+22??}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-math.VowRATwI.woff2) format("woff2");font-weight:500;font-style:normal;font-display:auto;unicode-range:U+2070-209F,U+20A0-20CF,U+2100-214F,U+22??}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-math.Vhad558A.woff2) format("woff2");font-weight:700;font-style:normal;font-display:auto;unicode-range:U+2070-209F,U+20A0-20CF,U+2100-214F,U+22??}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-ext.Bem3XA3V.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+100-17F,U+180-24F,U+250-2AF,U+2B0-2FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-ext.CrNe3KHy.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+100-17F,U+180-24F,U+250-2AF,U+2B0-2FF,U+300-36F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d-ext.94Ghj3da.woff2) format("woff2");font-weight:400;font-style:italic;unicode-range:U+100-17F,U+180-24F,U+250-2AF,U+2B0-2FF,U+300-36F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-ext.7n5CqxL7.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+100-17F,U+180-24F,U+250-2AF,U+2B0-2FF,U+300-36F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-ext.ZIUWLV_l.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+100-17F,U+180-24F,U+250-2AF,U+2B0-2FF,U+300-36F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-greek.BbxfPdAl.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+370-3FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-greek.B_XuJTAZ.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+370-3FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d-greek.Dk1iFglY.woff2) format("woff2");font-weight:400;font-style:italic;unicode-range:U+370-3FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-greek.CausCqqg.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+370-3FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-greek.WY7WHFrm.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+370-3FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-cyrillic.CsPLnRLo.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+4??;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-cyrillic.CqwMzsPk.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+4??;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d-cyrillic.BblJ-_rD.woff2) format("woff2");font-weight:400;font-style:italic;unicode-range:U+4??;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-cyrillic.DNRszQOD.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+4??;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-cyrillic.2_3luF0M.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+4??;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-georgian.DQYdUyS6.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+10A0-10FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-georgian.K3ojRBvX.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+10A0-10FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-georgian.Dm7_Errf.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+10A0-10FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-georgian.DxEPV1YF.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+10A0-10FF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-arabic.DREZC0GR.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+6??,U+FB50-FDFF,U+FE70-FEFF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-arabic.BSq1tCUT.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+6??,U+FB50-FDFF,U+FE70-FEFF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-arabic.CsDfqCdG.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+6??,U+FB50-FDFF,U+FE70-FEFF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-arabic.CFkBSarF.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+6??,U+FB50-FDFF,U+FE70-FEFF;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-hebrew.7nGTaaLY.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+590-5FF,U+FB00-FB4F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-hebrew.MIL9x_nF.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+590-5FF,U+FB00-FB4F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d-hebrew.NCOHbXrA.woff2) format("woff2");font-weight:400;font-style:italic;unicode-range:U+590-5FF,U+FB00-FB4F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-hebrew.CcMqJEql.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+590-5FF,U+FB00-FB4F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-hebrew.Cz9TkiS-.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+590-5FF,U+FB00-FB4F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/94aa531e-7746-4df0-bb6e-349891f2eda5.DAQswxTR.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+900-97F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/3ae1e25e-3aa6-4061-a016-a079159f9d65.CccJlW6N.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+900-97F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/41331c3c-3759-4462-8695-33c9a21b6a5b.egzEe5Uy.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+900-97F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/41331c3c-3759-4462-8695-33c9a21b6a5b.egzEe5Uy.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+900-97F;font-display:auto}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-thai.C81xO0ss.woff2) format("woff2");font-weight:300;font-style:normal;unicode-range:U+E00-E7F}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-thai.Bzm7xvwp.woff2) format("woff2");font-weight:400;font-style:normal;unicode-range:U+E00-E7F}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-thai.BIwtsGXD.woff2) format("woff2");font-weight:500;font-style:normal;unicode-range:U+E00-E7F}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-thai.tllTIX2k.woff2) format("woff2");font-weight:700;font-style:normal;unicode-range:U+E00-E7F}@font-face{font-family:Avenir Next;src:url(/_app/b8b15cdf-85d1-4120-8daa-48863d803939-vietnamese.ebkwrOfo.woff2) format("woff2");font-weight:300;font-style:normal;font-display:auto;unicode-range:U+1E??}@font-face{font-family:Avenir Next;src:url(/_app/09ab0626-bb45-4650-acc8-0182d693df02-vietnamese.bXDpdbzz.woff2) format("woff2");font-weight:400;font-style:normal;font-display:auto;unicode-range:U+1E??}@font-face{font-family:Avenir Next;src:url(/_app/b9c5b839-db56-4419-8fcb-6ab661babb1d-vietnamese.Dzp9U02O.woff2) format("woff2");font-weight:400;font-style:italic;font-display:auto;unicode-range:U+1E??}@font-face{font-family:Avenir Next;src:url(/_app/12f4c786-0bef-4a48-b7c0-eebaa7591688-vietnamese.DWeOXKdi.woff2) format("woff2");font-weight:500;font-style:normal;font-display:auto;unicode-range:U+1E??}@font-face{font-family:Avenir Next;src:url(/_app/0c8a5d21-8a14-4451-8145-695071809cb7-vietnamese.Dv4zYZ2L.woff2) format("woff2");font-weight:700;font-style:normal;font-display:auto;unicode-range:U+1E??}@font-face{font-family:CalciteWebCoreIcons;src:url(/_app/CalciteWebCoreIcons.D6wKofwT.woff2) format("woff2");font-weight:400;font-style:normal}[class^=esri-icon-],[class*=" esri-icon-"]{speak:none;font-variant:normal;text-transform:none;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-style:normal;font-weight:var(--calcite-font-weight-normal);line-height:1;font-family:CalciteWebCoreIcons!important}.esri-icon-close:before{content:"";color:inherit}.esri-icon-drag-horizontal:before{content:"";color:inherit}.esri-icon-drag-vertical:before{content:"";color:inherit}.esri-icon-handle-horizontal:before{content:"";color:inherit}.esri-icon-handle-vertical:before{content:"";color:inherit}.esri-icon-check-mark:before{content:"";color:inherit}.esri-icon-left-triangle-arrow:before{content:"";color:inherit}.esri-icon-right-triangle-arrow:before{content:"";color:inherit}.esri-icon-down-arrow:before{content:"";color:inherit}.esri-icon-up-arrow:before{content:"";color:inherit}.esri-icon-overview-arrow-bottom-left:before{content:"";color:inherit}.esri-icon-overview-arrow-bottom-right:before{content:"";color:inherit}.esri-icon-overview-arrow-top-left:before{content:"";color:inherit}.esri-icon-overview-arrow-top-right:before{content:"";color:inherit}.esri-icon-maximize:before{content:"";color:inherit}.esri-icon-minimize:before{content:"";color:inherit}.esri-icon-checkbox-unchecked:before{content:"";color:inherit}.esri-icon-checkbox-checked:before{content:"";color:inherit}.esri-icon-radio-unchecked:before{content:"";color:inherit}.esri-icon-radio-checked:before{content:"";color:inherit}.esri-icon-up-arrow-circled:before{content:"";color:inherit}.esri-icon-down-arrow-circled:before{content:"";color:inherit}.esri-icon-left-arrow-circled:before{content:"";color:inherit}.esri-icon-right-arrow-circled:before{content:"";color:inherit}.esri-icon-zoom-out-fixed:before{content:"";color:inherit}.esri-icon-zoom-in-fixed:before{content:"";color:inherit}.esri-icon-refresh:before{content:"";color:inherit}.esri-icon-edit:before{content:"";color:inherit}.esri-icon-authorize:before{content:"";color:inherit}.esri-icon-map-pin:before{content:"";color:inherit}.esri-icon-blank-map-pin:before{content:"";color:inherit}.esri-icon-table:before{content:"";color:inherit}.esri-icon-plus:before{content:"";color:inherit}.esri-icon-minus:before{content:"";color:inherit}.esri-icon-beginning:before{content:"";color:inherit}.esri-icon-reverse:before{content:"";color:inherit}.esri-icon-pause:before{content:"";color:inherit}.esri-icon-play:before{content:"";color:inherit}.esri-icon-forward:before{content:"";color:inherit}.esri-icon-end:before{content:"";color:inherit}.esri-icon-erase:before{content:"";color:inherit}.esri-icon-up-down-arrows:before{content:"";color:inherit}.esri-icon-left:before{content:"";color:inherit}.esri-icon-right:before{content:"";color:inherit}.esri-icon-announcement:before{content:"";color:inherit}.esri-icon-notice-round:before{content:"";color:inherit}.esri-icon-notice-triangle:before{content:"";color:inherit}.esri-icon-home:before{content:"";color:inherit}.esri-icon-locate:before{content:"";color:inherit}.esri-icon-expand:before{content:"";color:inherit}.esri-icon-collapse:before{content:"";color:inherit}.esri-icon-layer-list:before{content:"";color:inherit}.esri-icon-basemap:before{content:"";color:inherit}.esri-icon-globe:before{content:"";color:inherit}.esri-icon-applications:before{content:"";color:inherit}.esri-icon-arrow-up-circled:before{content:"";color:inherit}.esri-icon-arrow-down-circled:before{content:"";color:inherit}.esri-icon-arrow-left-circled:before{content:"";color:inherit}.esri-icon-arrow-right-circled:before{content:"";color:inherit}.esri-icon-minus-circled:before{content:"";color:inherit}.esri-icon-plus-circled:before{content:"";color:inherit}.esri-icon-add-attachment:before{content:"";color:inherit}.esri-icon-attachment:before{content:"";color:inherit}.esri-icon-calendar:before{content:"";color:inherit}.esri-icon-close-circled:before{content:"";color:inherit}.esri-icon-browser:before{content:"";color:inherit}.esri-icon-collection:before{content:"";color:inherit}.esri-icon-comment:before{content:"";color:inherit}.esri-icon-configure-popup:before{content:"";color:inherit}.esri-icon-contact:before{content:"";color:inherit}.esri-icon-dashboard:before{content:"";color:inherit}.esri-icon-deny:before{content:"";color:inherit}.esri-icon-description:before{content:"";color:inherit}.esri-icon-directions:before{content:"";color:inherit}.esri-icon-directions2:before{content:"";color:inherit}.esri-icon-documentation:before{content:"";color:inherit}.esri-icon-duplicate:before{content:"";color:inherit}.esri-icon-review:before{content:"";color:inherit}.esri-icon-environment-settings:before{content:"";color:inherit}.esri-icon-error:before{content:"";color:inherit}.esri-icon-error2:before{content:"";color:inherit}.esri-icon-experimental:before{content:"";color:inherit}.esri-icon-feature-layer:before{content:"";color:inherit}.esri-icon-filter:before{content:"";color:inherit}.esri-icon-grant:before{content:"";color:inherit}.esri-icon-group:before{content:"";color:inherit}.esri-icon-key:before{content:"";color:inherit}.esri-icon-labels:before{content:"";color:inherit}.esri-icon-tag:before{content:"";color:inherit}.esri-icon-layers:before{content:"";color:inherit}.esri-icon-left-arrow:before{content:"";color:inherit}.esri-icon-right-arrow:before{content:"";color:inherit}.esri-icon-link-external:before{content:"";color:inherit}.esri-icon-link:before{content:"";color:inherit}.esri-icon-loading-indicator:before{content:"";color:inherit}.esri-icon-maps:before{content:"";color:inherit}.esri-icon-marketplace:before{content:"";color:inherit}.esri-icon-media:before{content:"";color:inherit}.esri-icon-media2:before{content:"";color:inherit}.esri-icon-menu:before{content:"";color:inherit}.esri-icon-mobile:before{content:"";color:inherit}.esri-icon-phone:before{content:"";color:inherit}.esri-icon-navigation:before{content:"";color:inherit}.esri-icon-pan:before{content:"";color:inherit}.esri-icon-printer:before{content:"";color:inherit}.esri-icon-pie-chart:before{content:"";color:inherit}.esri-icon-chart:before{content:"";color:inherit}.esri-icon-line-chart:before{content:"";color:inherit}.esri-icon-question:before{content:"";color:inherit}.esri-icon-resend-invitation:before{content:"";color:inherit}.esri-icon-rotate:before{content:"";color:inherit}.esri-icon-save:before{content:"";color:inherit}.esri-icon-settings:before{content:"";color:inherit}.esri-icon-settings2:before{content:"";color:inherit}.esri-icon-share:before{content:"";color:inherit}.esri-icon-sign-out:before{content:"";color:inherit}.esri-icon-support:before{content:"";color:inherit}.esri-icon-user:before{content:"";color:inherit}.esri-icon-time-clock:before{content:"";color:inherit}.esri-icon-trash:before{content:"";color:inherit}.esri-icon-upload:before{content:"";color:inherit}.esri-icon-download:before{content:"";color:inherit}.esri-icon-zoom-in-magnifying-glass:before{content:"";color:#6e6e6e}.esri-icon-search:before{content:"";color:inherit}.esri-icon-zoom-out-magnifying-glass:before{content:"";color:#6e6e6e}.esri-icon-locked:before{content:"";color:inherit}.esri-icon-unlocked:before{content:"";color:inherit}.esri-icon-favorites:before{content:"";color:inherit}.esri-icon-compass:before{content:"";color:inherit}.esri-icon-down:before{content:"";color:inherit}.esri-icon-up:before{content:"";color:inherit}.esri-icon-chat:before{content:"";color:inherit}.esri-icon-dock-bottom:before{content:"";color:inherit}.esri-icon-dock-left:before{content:"";color:inherit}.esri-icon-dock-right:before{content:"";color:inherit}.esri-icon-organization:before{content:"";color:inherit}.esri-icon-north-navigation:before{content:"";color:inherit}.esri-icon-locate-circled:before{content:"";color:inherit}.esri-icon-dial:before{content:"";color:inherit}.esri-icon-polygon:before{content:"";color:inherit}.esri-icon-polyline:before{content:"";color:inherit}.esri-icon-visible:before{content:"";color:inherit}.esri-icon-non-visible:before{content:"";color:inherit}.esri-icon-link-vertical:before{content:"";color:inherit}.esri-icon-unlocked-link-vertical:before{content:"";color:inherit}.esri-icon-link-horizontal:before{content:"";color:inherit}.esri-icon-unlocked-link-horizontal:before{content:"";color:inherit}.esri-icon-swap:before{content:"";color:inherit}.esri-icon-cta-link-external:before{content:"";color:inherit}.esri-icon-reply:before{content:"";color:inherit}.esri-icon-public:before{content:"";color:inherit}.esri-icon-share2:before{content:"";color:inherit}.esri-icon-launch-link-external:before{content:"";color:inherit}.esri-icon-rotate-back:before{content:"";color:inherit}.esri-icon-pan2:before{content:"";color:inherit}.esri-icon-tracking:before{content:"";color:inherit}.esri-icon-expand2:before{content:"";color:inherit}.esri-icon-arrow-down:before{content:"";color:inherit}.esri-icon-arrow-up:before{content:"";color:inherit}.esri-icon-hollow-eye:before{content:"";color:inherit}.esri-icon-play-circled:before{content:"";color:inherit}.esri-icon-volume-off:before{content:"";color:inherit}.esri-icon-volume-on:before{content:"";color:inherit}.esri-icon-bookmark:before{content:"";color:inherit}.esri-icon-lightbulb:before{content:"";color:inherit}.esri-icon-sketch-rectangle:before{content:"";color:inherit}.esri-icon-north-navigation-filled:before{content:"";color:inherit}.esri-icon-default-action:before{content:"";color:inherit}.esri-icon-undo:before{content:"";color:inherit}.esri-icon-redo:before{content:"";color:inherit}.esri-icon-cursor:before{content:"";color:inherit}.esri-icon-cursor-filled:before{content:"";color:inherit}.esri-icon-measure:before{content:"";color:inherit}.esri-icon-measure-line:before{content:"";color:inherit}.esri-icon-measure-area:before{content:"";color:inherit}.esri-icon-legend:before{content:"";color:inherit}.esri-icon-sliders:before{content:"";color:inherit}.esri-icon-sliders-horizontal:before{content:"";color:inherit}.esri-icon-cursor-marquee:before{content:"";color:inherit}.esri-icon-lasso:before{content:"";color:inherit}.esri-icon-elevation-profile:before{content:"";color:inherit}.esri-icon-slice:before{content:"";color:inherit}.esri-icon-line-of-sight:before{content:"";color:inherit}.esri-icon-zoom-to-object:before{content:"";color:inherit}.esri-icon-urban-model:before{content:"";color:inherit}.esri-icon-measure-building-height-shadow:before{content:"";color:inherit}.esri-icon-partly-cloudy:before{content:"";color:inherit}}.map-custom-search {
  position: absolute;
  top: 15px;
  left: 15px;
  z-index: 12;
  width: min(520px, 100% - 30px);
  transition: width 180ms ease;
  --map-search-selector-width: 240px;
  color: var(--body--color);
  font-family: var(--primary-font);
}
.map-custom-search__bar {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  height: 44px;
  width: 100%;
  overflow: hidden;
  background: var(--body--bg-color, #fff);
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
  box-shadow: 0 1px 4px rgba(0, 0, 0, 0.18);
  transition: height 180ms ease;
}
.map-custom-search__bar > motif-icon {
  flex: 0 0 auto;
  margin: 0 12px;
}
.map-custom-search__fields {
  display: flex;
  flex: 1 1 0;
  align-items: center;
  min-width: 0;
  opacity: 1;
  visibility: visible;
  transition: opacity 120ms ease 60ms, visibility 0s;
}
.map-custom-search__fields > motif-input {
  flex: 1 1 0;
  min-width: 0;
  --input-bg-color: var(--body--bg-color);
  --input-border-custom-color: transparent;
}
.map-custom-search__compact-toggle {
  flex: 0 0 42px;
  width: 42px;
  height: 42px;
}
.map-custom-search__compact-toggle::part(button) {
  box-sizing: border-box;
  width: 100%;
  height: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--body--color);
}
.map-custom-search__collapse {
  flex: none;
}
.map-custom-search__type {
  flex: 0 0 calc(var(--map-search-selector-width) - 42px);
  min-width: 0;
}
.map-custom-search__type::part(button) {
  box-sizing: border-box;
  display: flex;
  justify-content: space-between;
  width: 100%;
  min-width: 0;
  overflow: hidden;
  border: 0;
  border-radius: 0;
  border-left: 1px solid var(--card--border-color);
  border-right: 1px solid var(--card--border-color);
  background: var(--body--bg-color);
  color: var(--body--color);
  height: 42px;
  padding: 0 8px;
}
.map-custom-search__type span {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  text-align: left;
}
.map-custom-search__type motif-icon {
  flex: 0 0 15px;
  margin-left: 8px;
}
.map-custom-search__menu, .map-custom-search__results {
  position: absolute;
  top: calc(100% + 4px);
  left: 0;
  width: 100%;
  max-height: min(360px, 55vh);
  overflow-y: auto;
  background: var(--card--bg-color);
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.22);
}
.map-custom-search__menu {
  left: 0;
  width: var(--map-search-selector-width);
  max-width: 100%;
  box-sizing: border-box;
  padding: 4px 0;
}
.map-custom-search__option::part(button), .map-custom-search__result::part(button) {
  justify-content: flex-start;
  width: 100%;
  height: auto;
  min-height: 40px;
  text-align: left;
  color: var(--body--color);
  border: 0;
  border-radius: 0;
}
.map-custom-search__option::part(button) {
  min-height: 36px;
  padding: 8px 12px;
  border-left: 3px solid transparent;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.map-custom-search__option:hover::part(button), .map-custom-search__option:focus-within::part(button) {
  background: var(--select-option-hover--bg-color);
}
.map-custom-search__option--selected::part(button), .map-custom-search__option--selected:hover::part(button) {
  background: var(--select-option-selected--bg-color);
  border-left-color: var(--focus);
}
.map-custom-search__result::part(button) {
  min-height: 50px;
  border-bottom: 1px solid var(--card--border-color);
}
.map-custom-search__result-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  margin: 0 2px;
  color: var(--body--color);
  flex: 0 0 32px;
}
.map-custom-search__result-icon-preview {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
}
.map-custom-search__result-icon-preview:empty {
  display: none;
}
.map-custom-search__result-icon-preview > * {
  max-width: 100%;
  max-height: 100%;
}
.map-custom-search__result-text {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.map-custom-search__message {
  padding: 12px;
  font-size: 13px;
}
.map-custom-search__error {
  color: var(--error);
}

.map-custom-search--compact:not(.map-custom-search--expanded) {
  width: 36px;
}
.map-custom-search--compact:not(.map-custom-search--expanded) .map-custom-search__bar {
  height: 36px;
}
.map-custom-search--compact:not(.map-custom-search--expanded) .map-custom-search__compact-toggle {
  flex-basis: 34px;
  width: 34px;
  height: 34px;
}
.map-custom-search--compact:not(.map-custom-search--expanded) .map-custom-search__fields {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 60ms ease, visibility 0s linear 60ms;
}

@container (max-width: 1200px) {
  .map-wrapper--top-toolbar .map-custom-search {
    top: calc(var(--map-widget-top) + 15px);
  }
}
@container (max-width: 390px) {
  .map-wrapper--top-toolbar .map-custom-search__bar {
    display: grid;
    grid-template-columns: 42px minmax(0, 1fr);
    height: auto;
  }
  .map-wrapper--top-toolbar .map-custom-search__bar > motif-icon {
    margin: 0 auto;
  }
  .map-wrapper--top-toolbar .map-custom-search__fields {
    display: contents;
  }
  .map-wrapper--top-toolbar .map-custom-search__fields > motif-input {
    grid-column: 1/-1;
    width: 100%;
  }
  .map-wrapper--top-toolbar .map-custom-search__type {
    width: 100%;
    max-width: none;
  }
}
@media (prefers-reduced-motion: reduce) {
  .map-custom-search,
  .map-custom-search__bar,
  .map-custom-search__fields {
    transition: none;
  }
}.webmap-grid-options {
  width: 280px;
  padding: 12px;
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
  background: var(--card--bg-color);
  color: var(--body--color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
  overflow: visible;
}
.webmap-grid-options__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.webmap-grid-options__hint {
  display: block;
  margin-top: 4px;
  color: var(--body--color);
  font-size: 11px;
  line-height: 1.35;
}
.webmap-grid-options__section {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--card--border-color);
}
.webmap-grid-options__section-title {
  font-size: 12px;
  font-weight: 600;
}
.webmap-grid-options__section--toggles {
  gap: 10px;
}
.webmap-grid-options__placement-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.webmap-grid-options__placement-hint {
  color: var(--body--color);
  font-size: 11px;
  line-height: 1.35;
}
.webmap-grid-options__toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--body--color);
  font-size: 12px;
}
.webmap-grid-options__color-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: var(--body--color);
  font-size: 12px;
}
.webmap-grid-options__color-row label {
  font-weight: 500;
}
.webmap-grid-options__color-input {
  width: 40px;
  height: 28px;
  padding: 2px;
  border: 1px solid var(--input--border-color);
  border-radius: 3px;
  background: var(--input--bg-color);
  cursor: pointer;
}
.webmap-grid-options__color-input:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}
.webmap-grid-options__warning {
  margin: 12px 0 0;
  padding: 8px;
  border-left: 3px solid var(--warning);
  background: var(--card-header--bg-color);
  color: var(--body--color);
  font-size: 11px;
  line-height: 1.35;
}
.webmap-grid-options__bearing-input {
  display: flex;
  align-items: end;
  gap: 4px;
  position: relative;
}
.webmap-grid-options__bearing-input motif-input {
  flex: 1;
}
.webmap-grid-options__bearing-input motif-button {
  margin-bottom: 1px;
}
.webmap-grid-options__compass-button {
  height: 40px;
  min-width: 40px;
  align-self: flex-end;
  padding: 0;
}
.webmap-grid-options__compass-button svg {
  display: block;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
}
.webmap-grid-options__compass-button-icon {
  display: block;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
  transform: scale(1.15);
  transform-origin: center;
}
.webmap-grid-options__compass-picker {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 30;
  width: 116px;
  padding: 8px;
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
  background: var(--card--bg-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.webmap-grid-options__compass {
  display: block;
  width: 100px;
  height: 100px;
  cursor: grab;
  touch-action: none;
}
.webmap-grid-options__compass:active {
  cursor: grabbing;
}
.webmap-grid-options__compass:focus {
  outline: 2px solid var(--focus);
  outline-offset: 2px;
}
.webmap-grid-options__compass text {
  fill: var(--body--color);
  font-size: 16px;
  font-weight: 600;
}
.webmap-grid-options__compass-ring, .webmap-grid-options__compass-axis {
  fill: none;
  stroke: var(--body--color);
  stroke-width: 1.5;
}
.webmap-grid-options__compass-arrow {
  stroke: var(--focus);
  stroke-width: 3;
  stroke-linecap: round;
}
.webmap-grid-options__compass-arrowhead, .webmap-grid-options__compass-center {
  fill: var(--focus);
}.webmap-edit-settings {
  width: 304px;
  padding: 12px;
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
  background: var(--card--bg-color);
  color: var(--body--color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.webmap-edit-settings__title {
  margin-bottom: 8px;
}
.webmap-edit-settings .webmap-grid-options {
  width: auto;
  padding: 12px 0 0;
  border: 0;
  box-shadow: none;
  background: transparent;
}
.webmap-edit-settings__snapping {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-top: 16px;
}
.webmap-edit-settings__snapping-heading {
  display: flex;
  align-items: center;
  gap: 6px;
}
.webmap-edit-settings__info {
  display: inline-flex;
  align-items: center;
  color: var(--body--color);
  cursor: help;
}
.webmap-edit-settings__toggle-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  min-height: 32px;
}
.webmap-edit-settings__toggle-row--child {
  padding-left: 12px;
}.toolbar {
  width: fit-content;
  z-index: 5;
  display: flex;
  justify-content: center;
}
.toolbar .tool {
  cursor: pointer;
  background-color: var(--vertical-navigation--bg-color);
  text-align: center;
  width: 65px;
  height: 60px;
  font-size: 0.65rem;
  border-top: 1px solid var(--modal-header--border-color);
  border-left: 1px solid var(--modal-header--border-color);
  border-bottom: 1px solid var(--modal-header--border-color);
}
.toolbar .tool--selected {
  background-color: #0079c1;
  color: white;
}
.toolbar .tool--disabled {
  cursor: unset;
  color: rgba(255, 255, 255, 0.4);
}
.toolbar .tool--grid-options {
  margin-right: 10px;
  border-right: 1px solid var(--modal-header--border-color);
  border-radius: 5px;
  overflow: visible;
}
.toolbar .tool--grid-options > svg {
  transform: scale(1.3);
}
.toolbar .tool--indicator > svg {
  position: relative;
}
.toolbar .tool--indicator > svg::after {
  content: "";
  position: absolute;
  top: -6px;
  right: -7px;
  width: 8px;
  height: 8px;
  border-radius: 25px;
  background-color: #0079c1;
}
.toolbar .tool--selected.tool--indicator > svg::after {
  background-color: #a0dcff;
}
.toolbar .tool {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.toolbar .tool:first-child {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.toolbar .tool:last-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-right: 1px solid var(--modal-header--border-color);
}
.toolbar .tool:hover:not(.tool--disabled) {
  background-color: var(--vertical-navigation-menu-item-active--bg-color);
}
.toolbar .tool--selected:hover {
  background-color: rgb(0%, 41.1815503403%, 65.6862745098%);
}
.toolbar .tool > svg {
  width: 25px;
  height: 25px;
  color: inherit;
}
.toolbar .tool p {
  padding: 4px 6px 0 6px;
  margin: 0;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.toolbar .tool .large-icon {
  width: 20px;
  height: 20px;
}
.toolbar .tool .loading-buffer {
  --calcite-color-brand: white;
}
.toolbar .tool .submenu-has-selection-indicator {
  background-color: #a0dcff;
  height: 10px;
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
}
.toolbar .tool #legendCount {
  position: absolute;
  top: 3px;
  right: 3px;
  padding: 5px;
  border-radius: 33px;
  line-height: 11px;
  font-size: 14px;
  font-weight: 500;
}
.toolbar__grid-options-panel {
  position: absolute;
  right: 0;
  top: calc(100% + 5px);
  z-index: 20;
  color: var(--body--color);
  cursor: default;
  text-align: left;
  overflow: visible;
}
.toolbar .tool.tool--grid-options {
  border-radius: 5px !important;
}
.toolbar .tool.tool--edit-shapes {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.toolbar .tool-separator {
  align-self: center;
  width: 1px;
  height: 36px;
  margin: 0 8px;
  background-color: var(--modal-header--border-color);
  flex-shrink: 0;
}
.toolbar--compact .tool-separator {
  height: 24px;
  margin: 0 6px;
}
.toolbar .no-text-select {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}
.toolbar--compact {
  flex-direction: row;
}
.toolbar--compact .tool {
  width: 32px;
  height: 32px;
  font-size: 0;
  border-top: 1px solid var(--modal-header--border-color);
  border-left: 1px solid var(--modal-header--border-color);
  border-bottom: 1px solid var(--modal-header--border-color);
  border-right: 1px solid var(--modal-header--border-color);
}
.toolbar--compact .tool:first-child {
  border-top-left-radius: 5px;
  border-top-right-radius: 0px;
  border-bottom-left-radius: 5px;
}
.toolbar--compact .tool:last-child {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
  border-top: 0;
}
.toolbar--compact .tool > svg {
  width: 20px;
  height: 20px;
}
.toolbar--compact .tool p {
  display: none;
}

.motif-theme-light .toolbar .tool--disabled {
  color: rgba(0, 0, 0, 0.4);
}

.webmap-toolbar-frame {
  position: relative;
  width: max-content;
  max-width: 100%;
  pointer-events: auto;
}
.webmap-toolbar-frame .toolbar__grid-options-panel {
  right: auto;
  left: 0;
}

.network-toolbar {
  display: flex;
  pointer-events: auto;
  flex-wrap: nowrap;
  align-items: center;
  width: max-content;
  max-width: 100%;
  overflow-x: auto;
  padding: 2px;
  scrollbar-width: thin;
}
.network-toolbar__group {
  display: flex;
  flex: none;
  align-items: center;
  gap: 2px;
}
.network-toolbar__group + .network-toolbar__group::before {
  content: "";
  flex: 0 0 1px;
  width: 1px;
  height: 24px;
  margin: 0 7px;
  background: var(--modal-header--border-color, #dedee2);
}
.network-toolbar__button {
  display: inline-flex;
  flex: 0 0 34px;
  width: 34px;
  height: 34px;
}
.network-toolbar__button svg {
  width: 17px;
  height: 17px;
}
.network-toolbar__button::part(button) {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  padding: 0;
  border: 1px solid var(--modal-header--border-color, #dedee2);
  border-radius: 4px;
  background: var(--body--bg-color, #fff);
}
.network-toolbar__button--active::part(button) {
  color: var(--focus, #0f69ae);
  border-color: var(--focus, #0f69ae);
}.facilities-planner-toolbar {
  position: absolute;
  top: 200px;
  left: 10px;
  z-index: 10;
}
.facilities-planner-toolbar.toolbar--compact {
  flex-direction: column;
}
.facilities-planner-toolbar--vertical .tool:first-child {
  border-radius: 5px 5px 0 0;
}
.facilities-planner-toolbar--vertical .tool:last-child {
  border-radius: 0 0 5px 5px;
}
.facilities-planner-toolbar .motif-theme-dark .tool {
  color: rgba(0, 0, 0, 0.4);
}.webmap-grid-angle-chip {
  position: absolute;
  z-index: 30;
  pointer-events: none;
  user-select: none;
  box-sizing: border-box;
  min-width: 88px;
  min-height: 40px;
  padding: 9px 14px;
  transform: translate(-3px, -3px);
  border: 1px solid var(--card--border-color);
  border-radius: 22px;
  background: var(--card--bg-color);
  color: var(--body--color);
  text-align: center;
  box-shadow: 0 2px 6px rgba(0, 0, 0, 0.2);
}.layer-panel {
  background-color: var(--card--bg-color);
  border: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  border-radius: var(--card--border-radius);
  min-width: 260px;
  max-width: 340px;
  max-height: 60vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  font-size: 13px;
}

.layer-panel__header {
  padding: 8px 12px;
  background-color: var(--card-header--bg-color);
  border-bottom: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.layer-panel__title {
  font-weight: 600;
  font-size: 14px;
}

.layer-panel__clear-btn {
  background: none;
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
  padding: 3px 10px;
  cursor: pointer;
  font-size: 12px;
  color: inherit;
  white-space: nowrap;
  transition: background-color 0.15s ease;
}

.layer-panel__clear-btn:hover {
  background-color: var(--card-header-icon-hover--bg-color);
}

.layer-panel__content {
  overflow-y: auto;
  flex: 1;
  padding: 4px 0;
}

.layer-panel__optional-layers {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 4px 8px 8px;
  padding: 8px;
  border: 1px solid var(--card--border-color);
  border-radius: 4px;
}

.layer-panel__optional-layer {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

/* Tree node (group / folder) */
.layer-panel__node {
  /* no extra spacing needed; padding is inline via style prop */
}

.layer-panel__node-header {
  display: flex;
  align-items: center;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-right: 8px;
  gap: 2px;
}

.layer-panel__chevron {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 4px;
  font-size: 12px;
  color: inherit;
  transition: transform 0.2s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 20px;
}

.layer-panel__chevron--collapsed {
  transform: rotate(-90deg);
}

.layer-panel__chevron-spacer {
  display: inline-block;
  width: 20px;
  flex-shrink: 0;
}

.layer-panel__node-label {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  flex: 1;
  user-select: none;
}

.layer-panel__node-name {
  font-weight: 600;
  font-size: 13px;
}

.layer-panel__checkbox {
  margin: 0;
  cursor: pointer;
  flex-shrink: 0;
  width: 14px;
  height: 14px;
  accent-color: var(--checkbox-checked--bg-color, #2e7d32);
}

.layer-panel__node-children {
  /* children are indented via inline paddingLeft */
}

.layer-panel__layer-item {
  display: flex;
  align-items: center;
  gap: 6px;
  padding-top: 3px;
  padding-bottom: 3px;
  padding-right: 8px;
  cursor: pointer;
  user-select: none;
  transition: background-color 0.1s ease;
}

.layer-panel__layer-item:hover {
  background-color: var(--card-header-icon-hover--bg-color);
}

.layer-panel__layer-name {
  font-size: 13px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.grid-layer-panel {
  background-color: var(--card--bg-color);
  border: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  border-radius: var(--card--border-radius);
  min-width: 220px;
  max-width: 320px;
  max-height: 40vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.grid-layer-panel__header {
  padding: 6px 14px;
  background-color: var(--card-header--bg-color);
  border-bottom: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  display: flex;
  align-items: center;
}

.grid-layer-panel__list {
  overflow-y: auto;
  flex: 1;
  padding: 4px 0;
}

.grid-layer-panel__group + .grid-layer-panel__group,
.grid-layer-panel__ungrouped--separated {
  border-top: 1px solid var(--card--border-color);
}

.grid-layer-panel__group-title {
  padding: 8px 14px 4px;
  background-color: var(--card-header--bg-color);
}

.grid-layer-panel__group .grid-layer-panel__item {
  padding-left: 26px;
}

.grid-layer-panel__item {
  padding: 8px 14px;
  cursor: pointer;
  border-left: 3px solid transparent;
  transition: background-color 0.15s ease;
}

.grid-layer-panel__item:hover {
  background-color: var(--card-header-icon-hover--bg-color);
}

.grid-layer-panel__item--active {
  background-color: var(--select-option-selected--bg-color);
  border-left-color: transparent;
  border-top: 1px solid var(--table--border-color);
  border-bottom: 1px solid var(--table--border-color);
}

.grid-layer-panel__item-name {
  display: block;
}

.grid-layer-panel__current {
  padding: 8px 14px;
  border-top: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  background-color: var(--card-header--bg-color);
}

.grid-layer-panel__current span:last-child {
  font-weight: 600;
}
.version-panel {
  background-color: var(--card--bg-color);
  border: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  border-radius: var(--card--border-radius);
  min-width: 280px;
  max-width: 360px;
  max-height: 60vh;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  resize: vertical;
}

.version-panel__header {
  padding: 6px 6px 6px 14px;
  background-color: var(--card-header--bg-color);
  border-bottom: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.version-panel__create-form {
  padding: 10px 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  flex: 1;
  overflow-y: auto;
}



.version-panel__list {
  overflow-y: auto;
  flex: 1;
  min-height: 100px;
  padding: 4px 0;
}

.version-panel__loading {
  padding: 12px 14px;
  font-style: italic;
}

.version-panel__item {
  padding: 8px 14px;
  cursor: pointer;
  border-left: 3px solid transparent;
  transition: background-color 0.15s ease;
}

.version-panel__item:hover {
  background-color: var(--card-header-icon-hover--bg-color);
}

.version-panel__item--active {
  background-color: var(--select-option-selected--bg-color);
  border-left-color: transparent;
  border-top: 1px solid var(--table--border-color);
  border-bottom: 1px solid var(--table--border-color);
}

.version-panel__item--switching {
  opacity: 0.6;
  pointer-events: none;
}

.version-panel__item--deleting {
  opacity: 0.6;
  pointer-events: none;
}

/* Row layout: version name on left, delete button on right */
.version-panel__item-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.version-panel__item-name {
  margin-bottom: 2px;
  display: flex;
  align-items: center;
  gap: 8px;
}

/* Action buttons container: rename + delete shown on hover */
.version-panel__item-actions {
  display: flex;
  align-items: center;
  gap: 2px;
}

/* Rename button: subtle pencil that appears on hover */
.version-panel__item-rename {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.15s ease;
  border-radius: 3px;
  color: inherit;
  font-size: 14px;
}

.version-panel__item:hover .version-panel__item-rename {
  opacity: 0.6;
}

.version-panel__item-rename:hover {
  opacity: 1 !important;
  background-color: var(--card-header-icon-hover--bg-color);
}

.version-panel__item-rename:disabled {
  cursor: not-allowed;
  opacity: 0.3 !important;
}

/* Inline rename row */
.version-panel__rename-row {
  display: flex;
  align-items: center;
  gap: 4px;
  width: 100%;
}

.version-panel__rename-input {
  flex: 1;
  padding: 2px 6px;
  border: 1px solid var(--card--border-color);
  border-radius: 3px;
  font-size: 13px;
  background-color: var(--card--bg-color);
  color: inherit;
  outline: none;
}

.version-panel__rename-input:focus {
  border-color: var(--select-option-selected--bg-color);
}

.version-panel__rename-confirm,
.version-panel__rename-cancel {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px 6px;
  border-radius: 3px;
  color: inherit;
  font-size: 14px;
}

.version-panel__rename-confirm:hover,
.version-panel__rename-cancel:hover {
  background-color: var(--card-header-icon-hover--bg-color);
}

.version-panel__rename-confirm:disabled,
.version-panel__rename-cancel:disabled {
  cursor: not-allowed;
  opacity: 0.3;
}

/* Delete button: subtle X that appears on hover */
.version-panel__item-delete {
  background: none;
  border: none;
  cursor: pointer;
  padding: 2px;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: opacity 0.15s ease;
  border-radius: 3px;
  color: inherit;
}

.version-panel__item-delete svg {
  width: 16px;
  height: 16px;
}

.version-panel__item:hover .version-panel__item-delete {
  opacity: 0.6;
}

.version-panel__item-delete:hover {
  opacity: 1 !important;
  background-color: var(--card-header-icon-hover--bg-color);
}

.version-panel__item-delete:disabled {
  cursor: not-allowed;
  opacity: 0.3 !important;
}

.version-panel__item-spinner {
  display: inline-block;
  width: 12px;
  height: 12px;
  border: 2px solid var(--card--border-color);
  border-top-color: transparent;
  border-radius: 50%;
  animation: version-spin 0.6s linear infinite;
}

@keyframes version-spin {
  to {
    transform: rotate(360deg);
  }
}

.version-panel__item-details {
  display: flex;
  gap: 8px;
  align-items: center;
}

.version-panel__item-access {
  background-color: var(--card-header--bg-color);
  padding: 1px 6px;
  border-radius: 3px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}

.version-panel__item-desc {
  font-style: italic;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 180px;
}

.version-panel__current {
  padding: 8px 14px;
  border-top: var(--card--border-width) var(--card--border-style) var(--card--border-color);
  background-color: var(--card-header--bg-color);
}

.version-panel__current span:last-child {
  font-weight: 600;
}
.feature-popup {
  position: absolute;
  z-index: 20;
  pointer-events: auto;
  --feature-popup-label-column-width: 10rem;
  width: 400px;
  height: 420px;
  min-width: 20rem;
  min-height: 16rem;
  max-width: calc(100vw - 2rem);
  max-height: calc(100vh - 2rem);
  box-sizing: border-box;
  border-radius: 0px;
  resize: both;
  overflow: hidden;
  transform-origin:
    var(--feature-popup-origin-x, 50%)
    var(--feature-popup-origin-y, 50%);
  animation: feature-popup-enter 260ms cubic-bezier(0.2, 0.9, 0.2, 1) both;
  will-change: transform, opacity;
}

@keyframes feature-popup-enter {
  from {
    opacity: 0;
    transform: scale(0.12);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .feature-popup {
    animation: none;
  }
}

.feature-popup__card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0 !important;
  box-sizing: border-box;
  width: 100% !important;
  height: 100% !important;
  min-height: unset !important;
  border: 1px solid var(--modal-header--border-color);
  border-radius: 8px !important;
  box-shadow: 0 0.75rem 2rem color-mix(in srgb, var(--body--color) 12%, transparent);
  overflow: hidden;
  padding: 8px !important;
}

.feature-popup__card > :is(motif-card-body, .motif-card-body) {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  overflow: hidden;
}

.feature-popup__card :is(motif-card-header, .motif-card-header) {
  padding: 5px;
}

/* 
.feature-popup__card .motif-card-header,
.feature-popup__card .motif-card-body {  
  padding: 8px !important;  
}  */

.feature-popup__drag-region {
  position: relative;
  width: 100%;
  flex: 0 0 auto;
  cursor: move;
  user-select: none;
}

.feature-popup__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  width: 100%;
}

.feature-popup__header-copy {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 0.25rem;
}

.feature-popup__close {
  flex: 0 0 auto;
  margin-left: auto;
}

.feature-popup__title,
.feature-popup__meta-value,
.feature-popup__field-value {
  color: var(--motif-color-text-primary);
  font-family: var(--primary-font);
}

.feature-popup__title {
  font-size: var(--font-size-base);
  font-weight: var(--weight-bold);
  overflow-wrap: anywhere;
}

.feature-popup__subtitle,
.feature-popup__meta-label,
.feature-popup__field-label,
.feature-popup__empty {
  color: var(--motif-color-text-secondary);
  font-family: var(--primary-font);
  font-size: var(--font-size-base);
}

.feature-popup__body {
  display: flex;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  flex-direction: column;
}

.feature-popup__meta {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 1rem;
  padding: 8px;
  background: var(--dashboard-bg-subtle, color-mix(in srgb, var(--branding) 6%, var(--body--bg-color)));
  border-left: 3px solid var(--dashboard-action, var(--branding));
  border-radius: 0.45rem;
  overflow: visible;
}

.feature-popup__meta-row {
  display: grid;
  grid-template-columns: minmax(0, var(--feature-popup-label-column-width)) minmax(0, 1fr);
  gap: 0.5rem 0.75rem;
  align-items: start;
  min-width: 0;
}

.feature-popup__fields {
  display: grid;
  flex: 1 1 auto;
  min-height: 0;
  grid-template-columns: minmax(0, var(--feature-popup-label-column-width)) minmax(0, 1fr);
  align-content: start;
  gap: 0.5rem 0.75rem;
  align-items: start;
  height: 100%;
  overflow-y: auto;
  padding: 8px;
  padding-right: calc(8px + 0.2rem);
  outline: none;
  border: 1px solid var(--modal-header--border-color);
  border-radius: 0.45rem;
  scrollbar-gutter: stable;
  scrollbar-width: thin;
  /* scrollbar-color: transparent transparent; */
  background:
    linear-gradient(var(--dashboard-bg-subtle, var(--body--bg-color)) 30%, transparent),
    linear-gradient(transparent, var(--dashboard-bg-subtle, var(--body--bg-color)) 70%) 0 100%,
    radial-gradient(
      farthest-side at 50% 0,
      color-mix(in srgb, var(--dashboard-text-primary, var(--body--color)) 10%, transparent),
      transparent
    ),
    radial-gradient(
      farthest-side at 50% 100%,
      color-mix(in srgb, var(--dashboard-text-primary, var(--body--color)) 10%, transparent),
      transparent
    ) 0 100%;
  background-attachment: local, local, scroll, scroll;
  background-repeat: no-repeat;
  background-size: 100% 1.1rem, 100% 1.1rem, 100% 0.45rem, 100% 0.45rem;
}

.feature-popup__fields::-webkit-scrollbar {
  width: 4px;
  height: 4px;
}

.feature-popup__fields::-webkit-scrollbar-track {
  background: transparent;
}

.feature-popup__fields::-webkit-scrollbar-thumb {
  background: transparent;
  border-radius: 999px;
}

.feature-popup__fields:hover,
.feature-popup__fields:focus,
.feature-popup__fields:focus-within {
  scrollbar-width: thin;
  scrollbar-color:
    color-mix(in srgb, var(--dashboard-text-primary, var(--body--color)) 28%, transparent)
    transparent;
}

.feature-popup__fields:hover::-webkit-scrollbar-thumb,
.feature-popup__fields:focus::-webkit-scrollbar-thumb,
.feature-popup__fields:focus-within::-webkit-scrollbar-thumb {
  background: color-mix(
    in srgb,
    var(--dashboard-text-primary, var(--body--color)) 28%,
    transparent
  );
}

.feature-popup__fields::-webkit-scrollbar-thumb:hover {
  background: color-mix(
    in srgb,
    var(--dashboard-text-primary, var(--body--color)) 40%,
    transparent
  );
}

.feature-popup__field-value {
  overflow-wrap: anywhere;
  white-space: pre-wrap;
}

.feature-popup__meta-label,
.feature-popup__meta-value,
.feature-popup__field-label,
.feature-popup__field-value {
  min-width: 0;
  overflow-wrap: anywhere;
}

.feature-popup__empty {
  line-height: 1.5;
}

.feature-popup__filter {
  position: relative;
  margin-bottom: 0.5rem;
  flex: 0 0 auto;  
}

.feature-popup__filter-input input{
  padding-left: 35px;
}

.feature-popup__filter motif-input {
  width: 100%;
  --input-padding-left: 1.5rem;
}

.feature-popup__filter-icon {
  position: absolute;
  z-index: 1;
  left: 0.65rem;
  top: 50%;
  transform: translateY(-50%);
  pointer-events: none;
  color: var(--motif-color-text-secondary);
}

.feature-popup__no-match {
  grid-column: 1 / -1;
  color: var(--motif-color-text-secondary);
  font-style: italic;
  font-size: var(--font-size-base);
  padding: 0.5rem 0;
}
.map-zoom-controls {
  position: absolute;
  bottom: 84px;
  left: 20px;
  z-index: 100;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--modal-header--border-color);
  border-radius: 6px;
  background: color-mix(in srgb, var(--body--bg-color) 96%, transparent);
  box-shadow: 0 0.5rem 0.5rem color-mix(in srgb, var(--body--color) 12%, transparent);
  backdrop-filter: blur(6px);
}

.map-zoom-controls__button {
  min-width: 0 !important;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0 !important;
  border-radius: 0 !important;
  color: var(--body--color) !important;
  background: transparent !important;
}

.map-zoom-controls__button:hover:not([disabled]) {
  /* background: color-mix(in srgb, var(--branding) 8%, var(--body--bg-color)) !important; */
  background-color: var(--btn-secondary-hover--bg-color) !important;
}

.map-zoom-controls__button:focus-visible {
  outline: 2px solid var(--focus-border, var(--focus));
  outline-offset: -2px;
}

.map-zoom-controls__divider {
  height: 1px;
  background: color-mix(in srgb, var(--modal-header--border-color) 72%, transparent);
}
.coordinate-display {
  position: absolute;
  bottom: 20px;
  left: 20px;
  z-index: 100;
  min-height: unset !important;
  border: 1px solid var(--modal-header--border-color);
  border-radius: 6px !important;
  box-shadow: 0 0.5rem 0.5rem color-mix(in srgb, var(--body--color) 12%, transparent);
  background: color-mix(in srgb, var(--body--bg-color) 96%, transparent);
  backdrop-filter: blur(6px);
  height: unset !important;
  padding: 8px !important;
  gap: 0px !important;
  width: unset !important;
  /* width: 260px !important; */
}

.coordinate-display__body {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  /* padding: 0.5rem 0.75rem !important; */
  white-space: nowrap;
  min-height: unset !important;

  /* make the first and last children equal sized
      to center the content and divider within the container */
  /* & > *:first-child,
  & > *:last-child {
    flex: 1;
    align-items: center;
  } */

  & > *:first-child {
    justify-content: flex-end;
  }
  & > *:last-child {
    justify-content: flex-start;
  }
}

.coordinate-display__group {
  display: flex;
  align-items: center;
  gap: 0.375rem;
  min-width: 0;
}

.coordinate-label {
  color: var(--motif-color-text-secondary);
  font-family: var(--primary-font);
  font-size: 0.75rem;
  font-weight: var(--weight-bold);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.coordinate-value {
  color: var(--body--color);
  font-family: var(--primary-font);
  font-size: 0.8125rem;
  font-weight: var(--weight-bold);
  font-variant-numeric: tabular-nums;
}

.coordinate-display__divider {
  width: 1px;
  align-self: stretch;
  background: color-mix(in srgb, var(--modal-header--border-color) 72%, transparent);
}
.well-lateral-reconciliation-notice {
  position: absolute;
  z-index: 20;
  top: calc(var(--map-widget-top, 10px) + 52px);
  left: 16px;
  width: min(460px, 100% - 32px);
  max-height: calc(100% - 100px);
  overflow: auto;
  background: var(--motif-color-bg, var(--body--bg-color, #fff));
  border: 1px solid var(--motif-color-border, #e6e6e9);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.well-lateral-reconciliation-notice p {
  margin: 8px 0;
}
.well-lateral-reconciliation-notice code {
  overflow-wrap: anywhere;
  user-select: text;
}
.well-lateral-reconciliation-notice__row {
  border-top: 1px solid var(--motif-color-border-primary, #747480);
  padding-top: 8px;
  margin-top: 12px;
}.network-capacity-callouts {
  position: absolute;
  z-index: 8;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}

.network-capacity-callouts__error {
  position: absolute;
  top: 12px;
  left: 50%;
  max-width: min(520px, 100% - 32px);
  padding: 8px 12px;
  border: 1px solid var(--alert--border-color, #b9251c);
  background: var(--body--bg-color, #fff);
  color: var(--body--color, #2e2e38);
  box-shadow: var(--elevation-200, 0 2px 8px rgba(0, 0, 0, 0.16));
  translate: -50% 0;
}

.network-capacity-callouts__leaders {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  overflow: visible;
  pointer-events: none;
}
.network-capacity-callouts__leaders polygon {
  fill: var(--body--bg-color, #fff);
  stroke: var(--body--color, #2e2e38);
  stroke-width: 1;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
}

.network-capacity-callout-anchor {
  position: absolute;
  top: 0;
  left: 0;
  width: min(240px, 100vw - 24px);
  translate: -50% -100%;
  pointer-events: none;
  will-change: transform;
}
.network-capacity-callout-anchor motif-card {
  display: block;
  box-sizing: border-box;
  width: 100%;
  min-height: 0;
  margin: 0;
  padding: 0;
  background: var(--body--bg-color, #fff);
  box-shadow: var(--elevation-300, 0 4px 14px rgba(0, 0, 0, 0.2));
}
.network-capacity-callout-anchor--minor motif-card {
  border-top: 4px solid #ffb46a;
}
.network-capacity-callout-anchor--moderate motif-card {
  border-top: 4px solid #ff6d00;
}
.network-capacity-callout-anchor--severe motif-card {
  border-top: 4px solid #b9251c;
}

.network-capacity-callout {
  display: grid;
  gap: 2px;
  padding: 4px 6px;
  color: var(--body--color, #2e2e38);
  font-size: 12px;
}
.network-capacity-callout header {
  display: flex;
  flex-direction: column;
  gap: 1px;
}
.network-capacity-callout header span {
  color: var(--body--color-light, #656579);
}
.network-capacity-callout__state {
  font-weight: 600;
}
.network-capacity-callout__legend {
  color: var(--body--color-light, #656579);
  font-size: 10px;
  text-align: right;
}
.network-capacity-callout dl {
  display: grid;
  gap: 2px;
  margin: 0;
}
.network-capacity-callout dl > div {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  gap: 4px;
}
.network-capacity-callout dl dt {
  font-weight: 600;
  white-space: nowrap;
}
.network-capacity-callout dl dd {
  margin: 0;
  text-align: right;
  white-space: nowrap;
}.edit-create-panel {
  position: absolute;
  inset: 0;
  display: flex;
  width: 100%;
  flex-direction: column;
  color: var(--motif-color-text, var(--body--color, #2e2e38));
  background: var(--motif-color-bg, var(--body--bg-color, #fff));
  border-left: 1px solid var(--motif-color-border, var(--modal-header--border-color, #dedee2));
  box-shadow: -8px 0 24px rgba(0, 0, 0, 0.14);
}

.map-asset-drawer {
  --edit-drawer-width: var(--network-side-panel-width, min(380px, 92%));
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  z-index: 30;
  width: var(--edit-drawer-width);
  animation: map-asset-drawer-enter 180ms ease;
}

@keyframes map-asset-drawer-enter {
  from {
    transform: translateX(100%);
  }
  to {
    transform: translateX(0);
  }
}
.edit-create-panel--details {
  z-index: 2;
  background: var(--motif-color-bg-secondary, var(--body--bg-color, #f3f3f5));
  animation: map-asset-detail-enter 180ms ease;
}

@keyframes map-asset-detail-enter {
  from {
    transform: translateX(16px);
    opacity: 0.8;
  }
  to {
    transform: translateX(0);
    opacity: 1;
  }
}
.edit-create-panel--details .edit-create-panel__header,
.edit-create-panel--details .edit-create-panel__footer {
  background: var(--motif-color-bg, var(--body--bg-color, #fff));
}

.edit-create-panel--details .edit-create-panel__attribute-group {
  gap: 0;
}
.edit-create-panel--details .edit-create-panel__attribute-group + .edit-create-panel__attribute-group {
  margin-top: 12px;
  padding-top: 12px;
  border-top: 1px solid var(--border-colors-default-primary);
}
.edit-create-panel--details .edit-create-panel__attribute-group > .motif-body2-default-bold {
  padding: 4px 0 6px;
}

.edit-create-panel--details .edit-create-panel__body--attributes {
  gap: 0;
  padding: 8px 16px 16px;
}

.edit-create-panel--attribute-edit .edit-create-panel__body--attributes,
.edit-create-panel--attribute-edit .edit-create-panel__attribute-group {
  gap: 12px;
}

.edit-create-panel__details-content {
  position: relative;
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
}

.edit-create-panel__read-only-notice {
  padding: 12px 16px 0;
}

.edit-create-panel__preparing {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--body--bg-color) 88%, transparent);
}

.edit-create-panel__saving {
  position: absolute;
  inset: 0;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  background: color-mix(in srgb, var(--body--bg-color, #fff) 90%, transparent);
}

.edit-create-panel__detail-heading,
.edit-create-panel__detail-title {
  display: flex;
  align-items: center;
  min-width: 0;
  gap: 8px;
}

.edit-create-panel__detail-title {
  align-items: flex-start;
  flex-direction: column;
  gap: 2px;
  overflow: hidden;
}
.edit-create-panel__detail-title > span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.edit-create-panel__header {
  display: flex;
  min-height: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 8px 12px 8px 16px;
  border-bottom: 1px solid var(--motif-color-border, var(--modal-header--border-color, #dedee2));
}

.edit-create-panel__header-actions,
.edit-create-panel__mode {
  display: flex;
  align-items: center;
  gap: 4px;
}

.edit-create-panel__body {
  display: flex;
  min-height: 0;
  flex: 1;
  flex-direction: column;
  overflow-y: auto;
}

.edit-create-panel__body--attributes {
  gap: 16px;
  padding: 16px;
}

.edit-create-panel__operation-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding-bottom: 12px;
  border-bottom: 1px solid var(--border-colors-default-primary);
}

.edit-create-panel__live-calculation {
  display: flex;
  min-height: 40px;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border-bottom: 1px solid var(--border-colors-default-primary);
  background: var(--bg-colors-info-default-secondary, #eef5fa);
}

.edit-create-panel__operation-options {
  min-width: 0;
}

.edit-create-panel__operation-intro {
  padding-top: 16px;
  border-top: 1px solid var(--border-colors-default-primary);
}

.edit-create-panel__operation-preparing {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  min-height: 48px;
}
.edit-create-panel__operation-preparing .webmap-edit-toolbar__options-title {
  font-weight: bold;
}
.edit-create-panel__operation-preparing motif-progress-loader {
  display: block;
  width: 100%;
  min-height: 32px;
  padding-top: 0;
}
.edit-create-panel__operation-preparing motif-progress-loader::part(loader-type) {
  position: static;
  width: auto;
  transform: none;
  flex-direction: row;
  justify-content: flex-start;
  gap: 8px;
}

.edit-create-panel__help,
.edit-create-panel__error {
  margin: 0;
  padding: 10px 16px;
  line-height: 1.4;
}

.edit-create-panel__error {
  color: var(--motif-color-error, #c70117);
}

.edit-create-panel__asset-list {
  display: flex;
  flex-direction: column;
}

.edit-create-panel__type-group {
  display: flex;
  flex-direction: column;
}
.edit-create-panel__type-group + .edit-create-panel__type-group {
  border-top: 1px solid var(--motif-color-border, var(--modal-header--border-color, #dedee2));
}

.edit-create-panel__type-heading {
  margin: 0;
  padding: 12px 16px 6px;
}

.edit-create-panel__asset-button {
  min-height: 56px;
  justify-content: flex-start;
  gap: 12px;
  border-radius: 0;
  text-align: left;
  padding: 6px 16px;
}
.edit-create-panel__asset-button--selected {
  background: var(--bg-colors-selected-default-secondary);
}

.edit-create-panel__asset-entry,
.edit-create-panel__category-list {
  width: 100%;
  min-width: 0;
}

.edit-create-panel__asset-entry .edit-create-panel__asset-button {
  box-sizing: border-box;
  width: 100%;
}

.edit-create-panel__asset-button--expandable::part(button) {
  display: flex;
  align-items: center;
  width: 100%;
}

.edit-create-panel__expand-icon {
  flex: 0 0 18px;
  margin-left: auto;
}

.edit-create-panel__category-button {
  padding-left: 36px;
}

.edit-create-panel__symbol {
  display: inline-flex;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  align-items: center;
  justify-content: center;
  color: var(--branding, #0f69ae);
  border: 1px solid currentColor;
  border-radius: 6px;
}

.edit-create-panel__symbol-preview {
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.edit-create-panel__asset-copy {
  display: flex;
  min-width: 0;
  flex: 1;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
}
.edit-create-panel__asset-copy > span {
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.edit-create-panel__attribute-group {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.edit-create-panel__detail-list {
  margin: 0;
}

.edit-create-panel__caps-attributes {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.edit-create-panel__caps-toolbar {
  display: flex;
  align-items: flex-end;
  gap: 8px;
}
.edit-create-panel__caps-toolbar > motif-input,
.edit-create-panel__caps-toolbar > .motif-input {
  flex: 1;
  min-width: 0;
}

.edit-create-panel__caps-status {
  display: flex;
  justify-content: center;
  padding: 24px 0;
}

.edit-create-panel__detail-field {
  display: grid;
  grid-template-columns: minmax(0, 38%) minmax(0, 1fr);
  align-items: start;
  column-gap: 12px;
  padding: 9px 0;
  border-bottom: 1px solid var(--border-colors-default-primary);
}
.edit-create-panel__detail-field:last-child {
  border-bottom: 0;
}
.edit-create-panel__detail-field > dt,
.edit-create-panel__detail-field > dd {
  min-width: 0;
  margin: 0;
  overflow-wrap: anywhere;
}

.edit-create-panel__footer {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 16px;
  border-top: 1px solid var(--motif-color-border, var(--modal-header--border-color, #dedee2));
}

@media (prefers-reduced-motion: reduce) {
  .map-asset-drawer,
  .edit-create-panel--details {
    animation: none;
    transition: none;
  }
}
.edit-create-panel__lateral-draft {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 16px;
}

.edit-create-panel__lateral-draft-actions {
  display: flex;
  gap: 8px;
}

.edit-create-panel__lateral-lengths {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  column-gap: 12px;
  row-gap: 4px;
}

.edit-create-panel__lateral-info {
  display: inline-flex;
  align-items: center;
  cursor: help;
  color: var(--motif-color-text-secondary, #747480);
  border-radius: 2px;
}
.edit-create-panel__lateral-info:focus-visible {
  outline: 2px solid var(--motif-color-border-focus, #188ce5);
  outline-offset: 2px;
}

.edit-create-panel__muted {
  color: var(--motif-color-text-secondary, #747480);
}.webmap-edit-toolbar {
  width: fit-content;
  height: 65px;
  z-index: 5;
  display: flex;
  justify-content: center;
  border-radius: 5px;
  border: 1px solid var(--modal-header--border-color);
  background-color: var(--vertical-navigation--bg-color);
}
.webmap-edit-toolbar--options-only {
  height: auto;
  border: 0;
  background: transparent;
}
.webmap-edit-toolbar--options-only .webmap-edit-toolbar__options-inputs {
  position: static;
}
.webmap-edit-toolbar--loading {
  min-width: 220px;
  align-items: center;
  padding: 0 16px;
}
.webmap-edit-toolbar__options-inputs {
  position: absolute;
  bottom: 75px;
  width: 720px;
  display: flex;
  gap: 12px;
  padding: 8px;
  background: var(--vertical-navigation--bg-color);
  border-radius: 4px;
  border: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar__options-title {
  width: 70px;
  font-weight: bold;
  border-right: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar__options-group {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1;
}
.webmap-edit-toolbar__options-group label {
  font-size: 12px;
  font-weight: 500;
  margin: 0;
}
.webmap-edit-toolbar__options-group__duplicate-count {
  padding-left: 8px;
  width: 85px;
  border-left: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar__options-group__duplicate-count label {
  font-size: 12px;
  font-weight: 500;
  margin: 0;
}
.webmap-edit-toolbar__options-group--disabled {
  opacity: 0.5;
  pointer-events: none;
}
.webmap-edit-toolbar__options-group--direction {
  flex: 0 0 150px;
  position: relative;
}
.webmap-edit-toolbar__label--disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.webmap-edit-toolbar__options-apply {
  padding-left: 8px;
  border-left: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar .motif-button {
  margin: 0px;
}
.webmap-edit-toolbar__options-input {
  width: 100%;
  padding: 6px 8px;
  border: 1px solid var(--input--border-color);
  border-radius: 3px;
  font-size: 13px;
  font-family: inherit;
  background: white;
  background-color: var(--input--bg-color);
  color: var(--input--color);
}
.webmap-edit-toolbar__options-input:focus {
  outline: none;
  border-color: rgb(0, 121, 193);
  box-shadow: 0 0 0 2px rgba(0, 121, 193, 0.2);
}
.webmap-edit-toolbar__options-input:hover:not(:focus) {
  border-color: rgb(150, 150, 150);
}
.webmap-edit-toolbar__direction-input {
  display: flex;
  align-items: center;
  gap: 4px;
  position: relative;
}
.webmap-edit-toolbar__direction-input .webmap-edit-toolbar__options-input {
  min-width: 0;
  width: 84px;
}
.webmap-edit-toolbar__compass-button {
  min-width: 32px;
  height: 32px;
  padding: 0;
  font-size: 32px;
}
.webmap-edit-toolbar__compass-button svg {
  display: block;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
}
.webmap-edit-toolbar__compass-button-icon {
  display: block;
  width: 32px !important;
  height: 32px !important;
  min-width: 32px;
  min-height: 32px;
  font-size: 32px;
  line-height: 1;
  transform: scale(1.2);
  transform-origin: center;
}
.webmap-edit-toolbar__compass-button-icon path {
  vector-effect: non-scaling-stroke;
}
.webmap-edit-toolbar__compass-picker {
  position: absolute;
  bottom: calc(100% + 41px);
  right: 0;
  z-index: 10;
  width: 142px;
  padding: 8px;
  border: 1px solid var(--modal-header--border-color);
  border-radius: 4px;
  background: var(--vertical-navigation--bg-color);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}
.webmap-edit-toolbar__compass-heading {
  display: flex;
  justify-content: space-between;
  font-size: 12px;
  font-weight: 600;
}
.webmap-edit-toolbar__compass-title {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.webmap-edit-toolbar__compass-help-trigger {
  display: inline-flex;
  align-items: center;
  color: var(--input--color);
  cursor: help;
}
.webmap-edit-toolbar__compass {
  display: block;
  width: 96px;
  height: 96px;
  margin: 4px auto;
  cursor: grab;
  touch-action: none;
}
.webmap-edit-toolbar__compass:active {
  cursor: grabbing;
}
.webmap-edit-toolbar__compass:focus {
  outline: 2px solid rgb(0, 121, 193);
  outline-offset: 2px;
}
.webmap-edit-toolbar__compass text {
  fill: var(--input--color);
  font-size: 16px;
  font-weight: 600;
}
.webmap-edit-toolbar__compass-ring, .webmap-edit-toolbar__compass-axis {
  fill: none;
  stroke: #45454f;
  stroke-width: 1.5;
}
.webmap-edit-toolbar__compass-arrow {
  stroke: rgb(0, 121, 193);
  stroke-width: 3;
  stroke-linecap: round;
}
.webmap-edit-toolbar__compass-arrowhead, .webmap-edit-toolbar__compass-center {
  fill: rgb(0, 121, 193);
}
.webmap-edit-toolbar__radio-group {
  display: flex;
  gap: 12px;
  padding: 4px 0;
}
.webmap-edit-toolbar__radio-label {
  display: flex;
  align-items: center;
  gap: 6px;
  cursor: pointer;
  font-size: 13px;
  user-select: none;
}
.webmap-edit-toolbar__radio-label:hover {
  opacity: 0.8;
}
.webmap-edit-toolbar__radio-label span {
  color: var(--input--color);
}
.webmap-edit-toolbar__radio-input {
  cursor: pointer;
  width: 16px;
  height: 16px;
  margin: 0;
  accent-color: rgb(0, 121, 193);
}
.webmap-edit-toolbar--drawer-options {
  width: 100%;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-inputs {
  box-sizing: border-box;
  width: 100%;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
  gap: 12px 8px;
  padding: 0;
  border: 0;
  background: transparent;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-title {
  grid-column: 1/-1;
  width: auto;
  border: 0;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-group {
  min-width: 0;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-group--direction {
  grid-column: 2/4;
  flex: initial;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-input {
  box-sizing: border-box;
  min-width: 0;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__direction-input .webmap-edit-toolbar__options-input {
  flex: 1 1 auto;
  width: 0;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-group__duplicate-count {
  display: flex;
  flex-direction: column;
  gap: 4px;
  width: auto;
  padding: 0;
  border: 0;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-apply {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
  grid-column: 3;
  grid-row: 3;
  align-self: end;
  padding: 0;
  border: 0;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__options-apply--shift {
  grid-column: 1/-1;
  grid-row: 4;
}
.webmap-edit-toolbar--drawer-options .webmap-edit-toolbar__compass-picker {
  top: calc(100% + 4px);
  bottom: auto;
}
.webmap-edit-toolbar .edit-tool {
  cursor: pointer;
  text-align: center;
  width: 65px;
  height: 100%;
  font-size: 0.65rem;
  border: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar .edit-tool--selected {
  background-color: #0079c1;
  color: white;
}
.webmap-edit-toolbar .edit-tool--active {
  background-color: #0079c1;
}
.webmap-edit-toolbar .edit-tool--disabled {
  cursor: not-allowed;
  background-color: var(--vertical-navigation--bg-color);
  opacity: 0.9;
  color: rgb(160, 160, 160);
  pointer-events: none;
}
.webmap-edit-toolbar .edit-tool--disabled svg {
  opacity: 0.4;
}
.webmap-edit-toolbar .edit-tool--disabled p {
  color: rgb(160, 160, 160);
}
.webmap-edit-toolbar .edit-tool--indicator > svg {
  position: relative;
}
.webmap-edit-toolbar .edit-tool--indicator > svg::after {
  content: "";
  position: absolute;
  top: -6px;
  right: -7px;
  width: 8px;
  height: 8px;
  border-radius: 25px;
  background-color: #0079c1;
}
.webmap-edit-toolbar .edit-tool--selected.tool--indicator > svg::after {
  background-color: #a0dcff;
}
.webmap-edit-toolbar .edit-tool {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  position: relative;
}
.webmap-edit-toolbar .edit-tool:first-child {
  border-top-left-radius: 5px;
  border-bottom-left-radius: 5px;
}
.webmap-edit-toolbar .edit-tool:last-child {
  border-top-right-radius: 5px;
  border-bottom-right-radius: 5px;
  border-right: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar .edit-tool:hover:not(.tool--disabled) {
  background-color: var(--vertical-navigation-menu-item-active--bg-color);
}
.webmap-edit-toolbar .edit-tool--selected:hover {
  background-color: rgb(0%, 41.1815503403%, 65.6862745098%);
}
.webmap-edit-toolbar .edit-tool svg {
  width: 25px;
  height: 25px;
  color: inherit;
}
.webmap-edit-toolbar .edit-tool p {
  padding: 4px 6px 0 6px;
  margin: 0;
  width: 100%;
  text-overflow: ellipsis;
  overflow: hidden;
  white-space: nowrap;
}
.webmap-edit-toolbar .edit-tool .large-icon {
  width: 20px;
  height: 20px;
}
.webmap-edit-toolbar .edit-tool .loading-buffer {
  --calcite-color-brand: white;
}
.webmap-edit-toolbar .edit-tool .submenu-has-selection-indicator {
  background-color: #a0dcff;
  height: 10px;
  position: absolute;
  top: -1px;
  left: 0;
  right: 0;
}
.webmap-edit-toolbar .edit-tool #legendCount {
  position: absolute;
  top: 3px;
  right: 3px;
  padding: 5px;
  border-radius: 33px;
  line-height: 11px;
  font-size: 14px;
  font-weight: 500;
}
.webmap-edit-toolbar .no-text-select {
  -webkit-touch-callout: none; /* iOS Safari */
  -webkit-user-select: none; /* Safari */
  -khtml-user-select: none; /* Konqueror HTML */
  -moz-user-select: none; /* Old versions of Firefox */
  -ms-user-select: none; /* Internet Explorer/Edge */
  user-select: none; /* Non-prefixed version, currently supported by Chrome, Edge, Opera and Firefox */
}
.webmap-edit-toolbar--compact {
  flex-direction: row;
}
.webmap-edit-toolbar--compact .edit-tool {
  width: 32px;
  height: 32px;
  font-size: 0;
  border-top: 1px solid var(--modal-header--border-color);
  border-left: 1px solid var(--modal-header--border-color);
  border-bottom: 1px solid var(--modal-header--border-color);
  border-right: 1px solid var(--modal-header--border-color);
}
.webmap-edit-toolbar--compact .edit-tool:first-child {
  border-top-left-radius: 5px;
  border-top-right-radius: 0px;
  border-bottom-left-radius: 5px;
}
.webmap-edit-toolbar--compact .edit-tool:last-child {
  border-bottom-left-radius: 0px;
  border-bottom-right-radius: 5px;
  border-top-right-radius: 5px;
  border-top: 0;
}
.webmap-edit-toolbar--compact .edit-tool svg {
  width: 20px;
  height: 20px;
}
.webmap-edit-toolbar--compact .edit-tool p {
  display: none;
}.project-header-tab {
  display: flex;
  height: 100%;
  padding: 8px;
  overflow: hidden;
}
.project-header-tab .left {
  flex: 0 0 60%;
  min-width: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.project-header-tab .left.full-width {
  flex: 1 1 100%;
}
.project-header-tab .right {
  flex: 0 0 40%;
  min-width: 350px;
  display: flex;
  flex-direction: column;
  padding-left: 8px;
}
.project-header-tab .fields-container {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
  overflow-x: hidden;
}
.project-header-tab .map-panel {
  flex: 1;
  background: var(--motif-color-background, #fff);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 12px;
}
.project-header-tab .map-title {
  display: flex;
  align-items: center;
  gap: 8px;
  height: 40px;
  box-sizing: border-box;
  margin-bottom: 16px;
  border-bottom: 1px solid var(--motif-color-border, #e1e1e6);
  background: transparent;
  flex-shrink: 0;
}
.project-header-tab .map-title__label {
  color: var(--motif-color-text-primary, #2E2E38);
  line-height: 1.25;
  margin: 0;
}
.project-header-tab .map-container {
  flex: 1;
  min-height: 300px;
  position: relative;
}
.project-header-tab .map-placeholder {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
  background: var(--motif-color-background-secondary, #f5f5f5);
  color: var(--motif-color-text-secondary, #747480);
  font-size: 14px;
}
.project-header-tab .map-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 10px 16px;
  background: var(--motif-color-background-secondary, #fafafa);
  border-top: 1px solid var(--motif-color-border, #e1e1e6);
}
.project-header-tab .legend-item {
  display: flex;
  align-items: center;
  gap: 6px;
  font-size: 10px;
  color: var(--motif-color-text-secondary, #747480);
  font-weight: 600;
}
.project-header-tab .legend-line {
  width: 20px;
  height: 2px;
}
.project-header-tab .legend-line.wells {
  background: var(--motif-color-text-primary, #000);
}
.project-header-tab .legend-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}
.project-header-tab .legend-dot.surface {
  background: #ff0000;
  border: 1px solid #8b0000;
}

body.motif-theme-dark .project-header-tab .map-panel {
  background: #23232d;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
body.motif-theme-dark .project-header-tab .map-title {
  border-bottom-color: #3d3d47;
  background: transparent;
}
body.motif-theme-dark .project-header-tab .map-title__label {
  color: #f0f0f0;
}
body.motif-theme-dark .project-header-tab .map-placeholder {
  background: #1a1a24;
  color: #a0a0a8;
}
body.motif-theme-dark .project-header-tab .map-legend {
  background: #1a1a24;
  border-top-color: #3d3d47;
}
body.motif-theme-dark .project-header-tab .legend-item {
  color: #a0a0a8;
}
body.motif-theme-dark .project-header-tab .legend-line.wells {
  background: #f0f0f0;
}.project-team {
  display: flex;
  gap: 20px;
  height: 100%;
  padding: 0px;
  position: relative;
}

.team-roles-section {
  flex: 2;
  background-color: var(--color-bg-primary, #fff);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 8px;
  overflow-y: auto;
}

.team-approval-section {
  flex: 1;
  min-width: 320px;
  background-color: var(--color-bg-primary, #fff);
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 20px;
  overflow-y: auto;
}

.team-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 50px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #e1e1e6);
}
.team-section-header--chain {
  margin-top: 20px;
  padding-top: 0;
}
.team-section-header .preset-select {
  flex-shrink: 0;
  width: 280px;
}

.team-section-title {
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-primary, #2e2e38);
  margin: 0;
}

.role-item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--color-border, #e1e1e6);
  border-radius: 6px;
  margin-bottom: 10px;
}
.role-item:last-child {
  margin-bottom: 0;
}
.role-item.readonly {
  background-color: var(--color-bg-secondary, #f9f9fb);
}

.role-label {
  width: 180px;
  flex-shrink: 0;
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-secondary, #747480);
}

.role-value {
  flex: 1;
  display: flex;
  align-items: center;
  gap: 10px;
}

.role-avatar {
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  color: white;
  flex-shrink: 0;
}
.role-avatar.role-avatar-img {
  object-fit: cover;
}

.role-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-primary, #2e2e38);
}

.role-readonly-badge {
  font-size: 11px;
  color: var(--color-text-secondary, #a1a1a6);
  font-style: italic;
}

.role-select {
  width: 100%;
  max-width: 300px;
}

.team-preset-select-field,
.role-user-select-field {
  overflow: hidden;
}
.team-preset-select-field .preset-select,
.team-preset-select-field .role-select,
.role-user-select-field .preset-select,
.role-user-select-field .role-select {
  display: block;
  margin-top: -26px;
  margin-bottom: -6px;
}

.role-user-select-field {
  flex: 1;
  min-width: 0;
}

.role-doa-badge {
  display: inline-block;
  padding: 0.0625rem 0.375rem;
  border-radius: 8px;
  font-size: 0.625rem;
  font-weight: 600;
  background-color: rgba(255, 165, 0, 0.15);
  color: #8a6d00;
  text-transform: uppercase;
  letter-spacing: 0.025em;
  flex-shrink: 0;
}

.approval-limit-card {
  background: linear-gradient(135deg, #ffe066 0%, #ffc800 100%);
  border-radius: 8px;
  padding: 16px;
  margin-bottom: 20px;
}

.approval-limit-label {
  font-size: 11px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.6);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 4px;
}

.approval-limit-value {
  font-size: 28px;
  font-weight: 700;
  color: #2e2e38;
}

.approval-limit-person {
  font-size: 11px;
  color: rgba(0, 0, 0, 0.5);
  margin-top: 4px;
}

.approval-chain {
  margin-top: 20px;
}

.approval-chain-title {
  font-size: 11px;
  font-weight: 600;
  color: var(--color-text-secondary, #747480);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 12px;
}

.approval-step {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--color-border, #e1e1e6);
  border-radius: 6px;
  margin-bottom: 8px;
}
.approval-step:last-child {
  margin-bottom: 0;
}

.approval-step-number {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--color-primary, #2e2e38);
  color: white;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  font-weight: 600;
  flex-shrink: 0;
}

.approval-step-info {
  flex: 1;
}

.approval-step-name {
  font-size: 14px;
  font-weight: 500;
  color: var(--color-text-primary, #2e2e38);
}

.approval-step-title {
  font-size: 12px;
  color: var(--color-text-secondary, #747480);
}

.approval-step-limit {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-primary, #2e2e38);
  white-space: nowrap;
}

.team-section-divider {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 20px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #e1e1e6);
  font-size: 14px;
  font-weight: 700;
  color: var(--color-text-secondary, #747480);
}

.chain-note {
  font-weight: 400;
  font-style: italic;
  text-transform: none;
  color: var(--color-text-secondary, #a1a1a6);
}

.chain-error {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 12px;
  color: var(--color-error, #ef4444);
  font-size: 13px;
}

.chain-empty {
  padding: 12px;
  font-size: 13px;
  color: var(--color-text-secondary, #a1a1a6);
  font-style: italic;
}

.role-item.readonly.chain {
  border-style: dashed;
}
.role-item.readonly.chain .role-label {
  width: 220px;
}

.role-approval-limit {
  font-size: 12px;
  font-weight: 600;
  color: var(--color-primary, #2e2e38);
  white-space: nowrap;
  padding: 2px 8px;
  background-color: var(--color-bg-secondary, #f5f5f5);
  border-radius: 4px;
  flex-shrink: 0;
}

.role-required {
  color: var(--color-error, #ef4444);
  margin-left: 2px;
}

.role-unassigned {
  color: var(--color-text-secondary, #a1a1a6);
  font-style: italic;
}

.project-team .loading-state {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 40px 20px;
  width: 100%;
  justify-content: center;
}

body.motif-theme-dark .team-roles-section,
body.motif-theme-dark .team-approval-section {
  background-color: var(--color-bg-primary, #1a1a24);
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
body.motif-theme-dark .team-section-title {
  color: var(--color-text-primary, #fff);
}
body.motif-theme-dark .team-section-header {
  border-bottom-color: var(--color-border, #444);
}
body.motif-theme-dark .team-section-divider {
  color: var(--color-text-secondary, #aaa);
  border-bottom-color: var(--color-border, #444);
}
body.motif-theme-dark .role-item {
  border-color: var(--color-border, #444);
}
body.motif-theme-dark .role-item.readonly {
  background-color: var(--color-bg-secondary, #2e2e38);
}
body.motif-theme-dark .role-label {
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .role-name {
  color: var(--color-text-primary, #fff);
}
body.motif-theme-dark .role-readonly-badge {
  color: var(--color-text-secondary, #888);
}
body.motif-theme-dark .approval-chain-title {
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .approval-step {
  border-color: var(--color-border, #444);
}
body.motif-theme-dark .approval-step-number {
  background-color: var(--color-primary, #ffe600);
  color: #2e2e38;
}
body.motif-theme-dark .approval-step-name {
  color: var(--color-text-primary, #fff);
}
body.motif-theme-dark .approval-step-title {
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .approval-step-limit {
  color: var(--color-primary, #ffe600);
}
body.motif-theme-dark .team-section-divider {
  color: var(--color-text-secondary, #aaa);
  border-bottom-color: var(--color-border, #444);
}
body.motif-theme-dark .chain-note {
  color: var(--color-text-secondary, #888);
}
body.motif-theme-dark .chain-error {
  color: var(--color-error, #f87171);
}
body.motif-theme-dark .chain-empty {
  color: var(--color-text-secondary, #888);
}
body.motif-theme-dark .role-approval-limit {
  color: var(--color-primary, #ffe600);
  background-color: var(--color-bg-secondary, #2e2e38);
}

@media (max-width: 900px) {
  .project-team {
    flex-direction: column;
  }
  .team-approval-section {
    min-width: unset;
  }
}.approvals-tab-layout {
  display: flex;
  gap: 8px;
  height: 100%;
  padding: 8px;
  overflow: hidden;
}

.approvals-team-section {
  flex: 2;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.approvals-workflows-section {
  flex: 1;
  min-width: 320px;
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.approvals-workflows-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px;
}

.approvals-section-header {
  display: flex;
  align-items: center;
  gap: 12px;
  height: 50px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid var(--color-border, #e1e1e6);
}
.approvals-section-header h3 {
  font-size: 13px;
  font-weight: 700;
  margin: 0;
  color: #2e2e38;
}

.approval-workflows-list {
  padding: 16px;
  overflow-y: auto;
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.workflows-loading {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.workflows-error {
  color: #dc3545;
  font-size: 13px;
  text-align: center;
  padding: 20px;
}

.workflows-empty {
  color: #747480;
  font-size: 13px;
  text-align: center;
  padding: 40px 20px;
  font-style: italic;
}

.approval-workflow-card {
  border: 1px solid #e1e1e6;
  border-radius: 8px;
  background: #fff;
  transition: border-color 0.2s, box-shadow 0.2s;
}
.approval-workflow-card.in-progress {
  border-color: #f5a623;
  border-width: 2px;
}
.approval-workflow-card.draft {
  border-style: dashed;
  opacity: 0.75;
}
.approval-workflow-card.expanded {
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
}

.workflow-card-header {
  display: flex;
  align-items: center;
  gap: 10px;
  padding: 14px 16px;
  cursor: pointer;
  user-select: none;
}
.workflow-card-header:hover {
  background-color: #f9f9fb;
}
.workflow-card-header.no-expand {
  cursor: default;
}
.workflow-card-header.no-expand:hover {
  background-color: transparent;
}

.workflow-info {
  flex: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.workflow-name {
  font-size: 14px;
  font-weight: 600;
  color: #2e2e38;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.workflow-date {
  font-size: 11px;
  color: #747480;
}

.workflow-status {
  font-size: 11px;
  font-weight: 600;
  padding: 3px 10px;
  border-radius: 12px;
  white-space: nowrap;
  flex-shrink: 0;
}
.workflow-status.approved {
  background-color: #e8f5e9;
  color: #2e7d32;
}
.workflow-status.in-progress {
  background-color: #fff3e0;
  color: #e65100;
}
.workflow-status.rejected {
  background-color: #fce4ec;
  color: #c62828;
}
.workflow-status.cancelled {
  background-color: #f5f5f5;
  color: #9e9e9e;
  text-decoration: line-through;
}
.workflow-status.draft {
  background-color: #f0f0f0;
  color: #747480;
}

.workflow-expand-btn {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  color: #747480;
  display: flex;
  align-items: center;
  flex-shrink: 0;
}
.workflow-expand-btn:hover {
  color: #2e2e38;
}

.workflow-progress-bar {
  position: relative;
  height: 22px;
  margin: 0 16px 12px;
  background-color: #f0f0f0;
  border-radius: 11px;
  overflow: hidden;
}

.progress-fill {
  position: absolute;
  top: 0;
  left: 0;
  height: 100%;
  background: linear-gradient(90deg, #f5a623, #f7b84e);
  border-radius: 11px;
  transition: width 0.4s ease;
}

.progress-text {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  font-weight: 600;
  color: #2e2e38;
}

.workflow-detail {
  border-top: 1px solid #e1e1e6;
  padding: 16px;
}

.workflow-steps-loading {
  display: flex;
  justify-content: center;
  padding: 16px 0;
}

.workflow-steps-empty {
  text-align: center;
  font-size: 12px;
  color: #747480;
  padding: 12px 0;
}

.workflow-steps {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.workflow-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  position: relative;
}
.workflow-step .step-connector {
  position: absolute;
  left: 8px;
  top: 28px;
  bottom: -8px;
  width: 2px;
  background-color: #e1e1e6;
}
.workflow-step.completed .step-connector {
  background-color: #2e7d32;
}
.workflow-step.current .step-connector {
  background: linear-gradient(180deg, #f5a623 0%, #e1e1e6 100%);
}

.step-indicator {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-indicator-current {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background-color: #f5a623;
  color: #fff;
  font-size: 10px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  animation: pulse-step 2s infinite;
}

@keyframes pulse-step {
  0%, 100% {
    box-shadow: 0 0 0 0 rgba(245, 166, 35, 0.4);
  }
  50% {
    box-shadow: 0 0 0 6px rgba(245, 166, 35, 0);
  }
}
.step-indicator-pending {
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 2px solid #bdbdbd;
  background: transparent;
  color: #bdbdbd;
  font-size: 10px;
  font-weight: 600;
  display: flex;
  align-items: center;
  justify-content: center;
}

.step-content {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.step-title {
  font-size: 13px;
  font-weight: 500;
  color: #2e2e38;
}

.step-approver {
  font-size: 11px;
  color: #747480;
}

.step-date {
  font-size: 11px;
  color: #9e9e9e;
}

.step-waiting {
  font-size: 11px;
  color: #f5a623;
  font-weight: 500;
}

body.motif-theme-dark .approvals-workflows-section {
  background-color: #23232d;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.3);
}
body.motif-theme-dark .approvals-section-header {
  background: #1a1a24;
  border-bottom-color: #444;
}
body.motif-theme-dark .approvals-section-header h3 {
  color: #fff;
}
body.motif-theme-dark .workflows-empty {
  color: #888;
}
body.motif-theme-dark .workflows-error {
  color: #f87171;
}
body.motif-theme-dark .approval-workflow-card {
  background: #23232d;
  border-color: #444;
}
body.motif-theme-dark .approval-workflow-card.in-progress {
  border-color: #f5a623;
}
body.motif-theme-dark .approval-workflow-card.draft {
  opacity: 0.7;
}
body.motif-theme-dark .workflow-card-header.no-expand:hover {
  background-color: transparent;
}
body.motif-theme-dark .workflow-card-header:hover {
  background-color: #2e2e38;
}
body.motif-theme-dark .workflow-name {
  color: #fff;
}
body.motif-theme-dark .workflow-date {
  color: #aaa;
}
body.motif-theme-dark .workflow-expand-btn {
  color: #aaa;
}
body.motif-theme-dark .workflow-expand-btn:hover {
  color: #fff;
}
body.motif-theme-dark .workflow-progress-bar {
  background-color: #333;
}
body.motif-theme-dark .progress-text {
  color: #fff;
}
body.motif-theme-dark .workflow-detail {
  border-top-color: #444;
}
body.motif-theme-dark .workflow-steps-empty {
  color: #888;
}
body.motif-theme-dark .workflow-step .step-connector {
  background-color: #444;
}
body.motif-theme-dark .workflow-step.completed .step-connector {
  background-color: #2e7d32;
}
body.motif-theme-dark .step-indicator-pending {
  border-color: #666;
  color: #666;
}
body.motif-theme-dark .step-title {
  color: #fff;
}
body.motif-theme-dark .step-approver {
  color: #aaa;
}
body.motif-theme-dark .step-date {
  color: #777;
}

@media (max-width: 900px) {
  .approvals-tab-layout {
    flex-direction: column;
  }
  .approvals-workflows-section {
    min-width: unset;
  }
}.audit-trail {
  padding: 20px;
  width: 100%;
}
.audit-trail--loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  min-height: 200px;
}
.audit-trail--error {
  padding: 40px 20px;
  text-align: center;
  color: var(--color-error, #c00);
}
.audit-trail--error button {
  margin-top: 12px;
  padding: 8px 16px;
  background: var(--color-primary, #2e2e38);
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
}
.audit-trail--error button:hover {
  opacity: 0.9;
}
.audit-trail--empty {
  padding: 40px 20px;
  text-align: center;
  color: var(--color-text-secondary, #666);
}
.audit-trail-header {
  margin-bottom: 24px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
}
.audit-trail-title {
  display: flex;
  align-items: center;
  gap: 12px;
}
.audit-trail-title h3 {
  font-size: 18px;
  font-weight: 600;
  color: var(--color-text-primary, #2e2e38);
  margin: 0;
}
.audit-trail-count {
  font-size: 13px;
  color: var(--color-text-secondary, #666);
  background: var(--color-bg-secondary, #f5f5f5);
  padding: 4px 10px;
  border-radius: 12px;
}
.audit-trail-view-toggle {
  display: flex;
  gap: 4px;
}
.audit-trail-timeline {
  display: flex;
  flex-direction: column;
  gap: 0;
}

.audit-entry {
  display: flex;
  gap: 16px;
  padding: 16px 0;
  border-bottom: 1px solid var(--color-border, #e0e0e0);
  position: relative;
}
.audit-entry:last-child {
  border-bottom: none;
}
.audit-entry::before {
  content: "";
  position: absolute;
  left: 7px;
  top: 32px;
  bottom: -16px;
  width: 2px;
  background: var(--color-border, #e0e0e0);
}
.audit-entry:last-child::before {
  display: none;
}

.audit-indicator {
  width: 16px;
  height: 16px;
  border-radius: 50%;
  flex-shrink: 0;
  margin-top: 3px;
  border: 3px solid;
  background: white;
  position: relative;
  z-index: 1;
}
.audit-indicator--green {
  border-color: #28a745;
}
.audit-indicator--yellow {
  border-color: #ffc107;
}
.audit-indicator--blue {
  border-color: #007bff;
}
.audit-indicator--red {
  border-color: #dc3545;
}

.audit-content {
  flex: 1;
  min-width: 0;
}

.audit-header {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.audit-title {
  font-size: 15px;
  font-weight: 600;
  color: var(--color-text-primary, #2e2e38);
}

.audit-operation {
  font-size: 11px;
  padding: 2px 6px;
  border-radius: 4px;
  text-transform: uppercase;
  font-weight: 500;
  background: var(--color-bg-secondary, #e8e8e8);
  color: var(--color-text-secondary, #666);
}

.audit-path {
  font-size: 12px;
  font-family: monospace;
  color: var(--color-text-secondary, #888);
  margin-top: 2px;
}

.audit-badge {
  font-size: 11px;
  padding: 2px 8px;
  background: var(--color-bg-secondary, #f5f5f5);
  border-radius: 10px;
  color: var(--color-text-secondary, #666);
}

.audit-meta {
  font-size: 13px;
  color: var(--color-text-secondary, #666);
  margin-top: 2px;
}

.audit-description {
  font-size: 13px;
  font-style: italic;
  color: var(--color-text-secondary, #666);
  margin-top: 8px;
}

.audit-value-change {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: 8px;
  font-size: 14px;
  flex-wrap: wrap;
}

.audit-old-value {
  color: #dc3545;
  text-decoration: line-through;
  word-break: break-word;
}

.audit-new-value {
  color: #28a745;
  font-weight: 500;
  word-break: break-word;
}

.audit-arrow {
  color: var(--color-text-secondary, #999);
  flex-shrink: 0;
}

.audit-creation-details {
  margin-top: 10px;
  padding: 10px 12px;
  background: var(--color-bg-secondary, #f8f8f8);
  border-radius: 6px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.audit-detail-item {
  display: flex;
  gap: 8px;
  font-size: 13px;
}
.audit-detail-item.audit-more {
  color: var(--color-text-secondary, #666);
  font-style: italic;
}

.audit-detail-label {
  color: var(--color-text-secondary, #666);
  min-width: 80px;
  flex-shrink: 0;
}

.audit-detail-value {
  color: var(--color-text-primary, #2e2e38);
  word-break: break-word;
}

.audit-changes-list {
  margin-top: 12px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px;
  background: var(--color-bg-secondary, #f8f8f8);
  border-radius: 6px;
}

.audit-change-row {
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border, #e8e8e8);
}
.audit-change-row:last-child {
  padding-bottom: 0;
  border-bottom: none;
}

.audit-change-field {
  display: flex;
  align-items: center;
  gap: 8px;
}

.audit-field-name {
  font-size: 13px;
  font-weight: 500;
  color: var(--color-text-primary, #2e2e38);
}

.audit-operation-badge {
  font-size: 10px;
  padding: 1px 5px;
  border-radius: 3px;
  text-transform: uppercase;
  font-weight: 500;
  background: var(--color-bg-tertiary, #e0e0e0);
  color: var(--color-text-secondary, #666);
}

.audit-change-values {
  display: flex;
  align-items: baseline;
  gap: 8px;
  font-size: 13px;
  flex-wrap: wrap;
  padding-left: 4px;
}

.audit-no-value {
  color: var(--color-text-secondary, #999);
  font-style: italic;
}

.audit-grid {
  width: 100%;
  min-height: 200px;
}
.audit-grid .ag-root-wrapper {
  border: none;
}
.audit-grid .ag-header-cell-text {
  font-weight: 600;
}

body.motif-theme-dark .audit-trail-title h3 {
  color: var(--color-text-primary, #fff);
}
body.motif-theme-dark .audit-trail-count {
  background: var(--color-bg-secondary, #2e2e38);
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .audit-trail--loading, body.motif-theme-dark .audit-trail--empty {
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .audit-entry {
  border-bottom-color: var(--color-border, #444);
}
body.motif-theme-dark .audit-entry::before {
  background: var(--color-border, #444);
}
body.motif-theme-dark .audit-indicator {
  background: var(--color-bg-primary, #1a1a24);
}
body.motif-theme-dark .audit-title,
body.motif-theme-dark .audit-field-name {
  color: var(--color-text-primary, #fff);
}
body.motif-theme-dark .audit-operation-badge {
  background: var(--color-bg-tertiary, #3a3a48);
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .audit-meta,
body.motif-theme-dark .audit-description,
body.motif-theme-dark .audit-detail-label {
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .audit-badge {
  background: var(--color-bg-secondary, #2e2e38);
  color: var(--color-text-secondary, #aaa);
}
body.motif-theme-dark .audit-changes-list {
  background: var(--color-bg-secondary, #2e2e38);
}
body.motif-theme-dark .audit-change-row {
  border-bottom-color: var(--color-border, #444);
}
body.motif-theme-dark .audit-creation-details {
  background: var(--color-bg-secondary, #2e2e38);
}
body.motif-theme-dark .audit-detail-value {
  color: var(--color-text-primary, #fff);
}/**
 * MajorEquipmentItemsPalette styles
 *
 * Mirrors BudgetItemsPanel layout primitives so the palette feels native
 * inside the scoping screen, then layers on the mockup-specific list look:
 *  - hidden AG Grid headers
 *  - colored category group bands
 *  - drag-handle + square + name/subtitle + right-aligned price item rows
 */
.mei-palette {
  --mei-space-inline: var(--motif-spacing-lg, 16px);
  --mei-space-section: var(--motif-spacing-md, 12px);
  --mei-space-item: var(--motif-spacing-sm, 8px);
  height: 100%;
  width: 100%;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.mei-palette .mei-card {
  height: 100%;
  width: 100%;
  min-width: 0;
  min-height: 0 !important;
  display: flex;
  flex-direction: column;
  padding: 0;
}
.mei-palette .mei-card :is(motif-card-header, .motif-card-header) {
  padding: var(--mei-space-section) var(--mei-space-inline);
  border-bottom: 2px solid var(--card--border-color);
  flex-shrink: 0;
  width: 100%;
}
.mei-palette .mei-card :is(motif-card-body, .motif-card-body) {
  flex: 1 1 auto;
  padding: 0;
  width: 100%;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.mei-palette .mei-header {
  display: flex;
  align-items: center;
  gap: var(--mei-space-item);
}
.mei-palette .mei-header .header-title {
  font-size: 14px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color);
}
.mei-palette .mei-content {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: var(--mei-space-section) var(--mei-space-inline);
  min-height: 0;
}
.mei-palette .mei-helper-text {
  font-size: 12px;
  color: var(--grey-07);
  margin-bottom: var(--mei-space-section);
  flex-shrink: 0;
}
.mei-palette .mei-search {
  margin-bottom: var(--mei-space-item);
  flex-shrink: 0;
}
.mei-palette .mei-search .motif-input {
  width: 100%;
}
.mei-palette .mei-loading,
.mei-palette .mei-empty {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--mei-space-item);
  padding: var(--mei-space-section);
  color: var(--grey-07);
  font-size: 13px;
}
.mei-palette .mei-grid {
  flex: 1;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.mei-palette .mei-grid .ag-header {
  display: none;
}
.mei-palette .mei-grid .ag-row {
  font-size: 13px;
  color: var(--body--color);
  background-color: var(--card--bg-color, #fff);
  border-bottom: 1px solid var(--card--border-color);
}
.mei-palette .mei-grid .ag-row:hover {
  background-color: var(--grey-01);
}
.mei-palette .mei-grid .ag-row-group {
  background-color: var(--grey-02, #f3f4f6) !important;
  font-weight: var(--weight-bold, 700);
  border-bottom: 1px solid var(--card--border-color);
}
.mei-palette .mei-grid .ag-row-group:hover {
  background-color: var(--grey-02, #f3f4f6);
}
.mei-palette .mei-grid .mei-item-cell {
  padding: 0 !important;
  display: flex;
  align-items: center;
}
.mei-palette .mei-grid .ag-cell-wrapper {
  width: 100%;
  display: flex;
  align-items: center;
}
.mei-palette .mei-grid .ag-drag-handle {
  cursor: grab;
  width: 20px;
  color: var(--grey-05);
  padding-left: 6px;
}
.mei-palette .mei-grid .ag-drag-handle:active {
  cursor: grabbing;
}
.mei-palette .mei-grid .ag-row-dragging {
  opacity: 0.5;
}
.mei-palette .mei-group-row {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 100%;
  padding: 0 12px;
  cursor: pointer;
  user-select: none;
}
.mei-palette .mei-group-row .mei-group-chevron {
  width: 12px;
  font-size: 11px;
  color: var(--grey-07);
  text-align: center;
  flex-shrink: 0;
}
.mei-palette .mei-group-row .mei-group-swatch {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  flex-shrink: 0;
}
.mei-palette .mei-group-row .mei-group-name {
  flex: 1;
  font-size: 13px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mei-palette .mei-group-row .mei-facility-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 999px;
  background-color: var(--motif-neutral-50, #f3f3f5);
  color: var(--motif-neutral-600, #6f6f7f);
  font-size: 10px;
  font-weight: var(--weight-bold, 700);
  line-height: 1.4;
  cursor: help;
  flex-shrink: 0;
}
.mei-palette .mei-item-row {
  flex: 1;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  height: 100%;
  padding: 8px 12px 8px 28px;
}
.mei-palette .mei-item-row .mei-item-dot {
  width: 10px;
  height: 10px;
  border-radius: 2px;
  flex-shrink: 0;
}
.mei-palette .mei-item-row .mei-item-text {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  line-height: 1.25;
}
.mei-palette .mei-item-row .mei-item-text .mei-item-name {
  font-size: 13px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.mei-palette .mei-item-row .mei-item-text .mei-item-subtitle {
  font-size: 11px;
  color: var(--grey-07);
  white-space: normal;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}
.mei-palette .mei-item-row .mei-item-price {
  margin-left: auto;
  font-size: 12px;
  color: var(--grey-08);
  font-variant-numeric: tabular-nums;
  flex-shrink: 0;
  padding-left: 12px;
}/**
 * MajorEquipmentCategoryDropZone styles
 *
 * Lane-row layout matching `tank-battery-projects.html` mockup
 * (`.scope-category` rows with a 240px left label rail + flex-wrap
 * items area). Drag-over tints the row background and dashes the
 * items-area border.
 */
.scope-category {
  display: flex;
  flex-direction: column;
  border-bottom: 1px solid var(--motif-neutral-100, #ededf0);
  background-color: var(--card--bg-color, #fff);
  transition: background-color 0.15s ease;
}
.scope-category:last-child {
  border-bottom: none;
}
.scope-category.drag-over {
  background-color: rgba(53, 164, 232, 0.04);
}
.scope-category.drag-over .scope-category-items-area {
  border-color: var(--motif-blue-600, #35A4E8);
  background-color: rgba(53, 164, 232, 0.06);
}
.scope-category.not-facility-contributing {
  background-color: var(--motif-neutral-25, #f9f9fa);
}
.scope-category.not-facility-contributing .scope-item-chip {
  border-style: dashed;
}

.scope-category-header {
  display: flex;
  align-items: stretch;
  min-height: 44px;
  padding: 8px 12px;
  gap: 12px;
}

.scope-category-label {
  flex: 0 0 240px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  padding-right: 8px;
}

.scope-category-name-row {
  display: flex;
  align-items: center;
  gap: 6px;
}

.stream-dots {
  display: inline-flex;
  align-items: center;
  gap: 2px;
  flex-shrink: 0;
}

.stream-dot {
  display: inline-block;
  width: 8px;
  height: 8px;
  border-radius: 2px;
  flex-shrink: 0;
}

.scope-category-name {
  font-size: 12px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color, #2e2e38);
  line-height: 1.3;
}

.facility-contribution-badge {
  display: inline-flex;
  align-items: center;
  padding: 1px 6px;
  border-radius: 999px;
  background-color: var(--motif-neutral-50, #f3f3f5);
  color: var(--motif-neutral-600, #6f6f7f);
  font-size: 10px;
  font-weight: var(--weight-bold, 700);
  line-height: 1.4;
  cursor: help;
}

.scope-category-capacity-area {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}

.scope-capacity-tag {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: var(--weight-bold, 700);
  line-height: 1.3;
  white-space: nowrap;
}
.scope-capacity-tag .tag-val {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 18px;
}
.scope-capacity-tag .tag-val-loading {
  height: 13px;
}
.scope-capacity-tag .capacity-value-spinner {
  width: 10px;
  height: 10px;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: capacity-value-spin 0.7s linear infinite;
}
.scope-capacity-tag .tag-label {
  font-weight: var(--weight-regular, 400);
  opacity: 0.85;
}

@keyframes capacity-value-spin {
  to {
    transform: rotate(360deg);
  }
}
.scope-category-items-area {
  flex: 1;
  display: flex;
  flex-wrap: wrap;
  align-content: flex-start;
  align-items: center;
  gap: 6px;
  min-height: 36px;
  padding: 4px 8px;
  border: 2px dashed transparent;
  border-radius: 4px;
  transition: all 0.15s ease;
}

.scope-category-empty {
  color: var(--motif-neutral-400, #9d9dac);
  font-style: italic;
  font-size: 11px;
}

.scope-item-chip {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 28px;
  padding: 4px 8px 4px 10px;
  background-color: var(--card--bg-color, #fff);
  border: 1px solid var(--motif-neutral-200, #c4c4cd);
  border-left: 3px solid var(--motif-neutral-300, #afaeba);
  border-radius: 3px;
  font-size: 12px;
  line-height: 1.3;
  transition: box-shadow 0.15s ease;
  position: relative;
}
.scope-item-chip:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.scope-item-chip:hover .chip-remove {
  opacity: 1;
}
.scope-item-chip .chip-name {
  color: var(--body--color, #2e2e38);
  font-weight: var(--weight-regular, 400);
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.chip-qty {
  display: inline-flex;
  align-items: center;
  padding-left: 4px;
  border-left: 1px solid var(--motif-neutral-100, #ededf0);
  margin-left: 2px;
}
.chip-qty .motif-input-component:has(input.chip-qty-input) {
  width: 54px;
  min-width: 54px;
  min-height: 24px !important;
  height: 24px;
}
.chip-qty input.motif-input.chip-qty-input {
  min-height: 24px !important;
  height: 24px !important;
  padding: 0 4px;
  text-align: center;
  font-size: 12px;
  line-height: 16px;
  font-weight: var(--weight-bold, 700);
}

.chip-remove {
  width: 20px;
  height: 20px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  border: none;
  color: var(--motif-neutral-500, #7f7f91);
  cursor: pointer;
  padding: 0;
  border-radius: 2px;
  opacity: 0;
  transition: opacity 0.15s ease, background-color 0.15s ease, color 0.15s ease;
}
.chip-remove:hover {
  background-color: var(--motif-red-100, #fde8e8);
  color: var(--motif-red-600, #e53935);
}

.scope-item-chip--inherited {
  border-style: dashed;
  opacity: 0.82;
  cursor: default;
  background-color: var(--motif-neutral-25, #f9f9fa);
}
.scope-item-chip--inherited:hover {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.06);
}
.scope-item-chip--inherited .chip-name {
  color: var(--motif-neutral-600, #6f6f7f);
}

.chip-inherited-icon {
  color: var(--motif-neutral-400, #9d9dac);
  flex-shrink: 0;
}

.chip-qty--inherited .chip-qty-value {
  font-size: 12px;
  font-weight: var(--weight-bold, 700);
  color: var(--motif-neutral-600, #6f6f7f);
  min-width: 18px;
  text-align: center;
  padding: 0 4px;
  line-height: 24px;
}.calculation-info-popover {
  position: relative;
  display: inline-flex;
  align-items: center;
}
.calculation-info-popover .calculation-info-trigger {
  display: inline-flex;
}
.calculation-info-popover .calculation-info-button {
  min-width: 24px;
  width: 24px;
  height: 24px;
  padding: 0;
  border-radius: 999px;
  line-height: 1;
}
.calculation-info-popover .calculation-info-button .motif-icon,
.calculation-info-popover .calculation-info-button svg {
  display: block;
}
.calculation-info-popover .calculation-info-content {
  position: fixed;
  z-index: 1000;
  display: none;
  overflow: auto;
  padding: 10px 12px;
  border: 1px solid var(--motif-neutral-100, #dedee2);
  border-radius: 6px;
  background: var(--card--bg-color, #fff);
  box-shadow: 0 8px 24px rgba(46, 46, 56, 0.16);
  color: var(--body--color, #2e2e38);
  font-size: 12px;
  text-align: left;
}
.calculation-info-popover .calculation-info-content.open {
  display: block;
}/**
 * FacilityCapacityChart styles
 */
.facility-capacity-chart {
  margin: 0;
  padding: 12px 16px;
  background: transparent;
  border-radius: 0;
  height: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  flex-shrink: 1;
}
.facility-capacity-chart.loading, .facility-capacity-chart.error {
  display: flex;
  align-items: center;
  gap: 12px;
  min-height: 80px;
  justify-content: center;
}
.facility-capacity-chart .facility-capacity-chart-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 8px;
}
.facility-capacity-chart .facility-capacity-chart-header .header-title {
  font-size: 13px;
  font-weight: 600;
  color: var(--motif-color-text-primary, #2e2e38);
}
.facility-capacity-chart .facility-capacity-chart-header .header-title-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.facility-capacity-chart .facility-capacity-chart-header .facility-capacity-chart-status {
  display: flex;
  align-items: center;
  gap: 8px;
}
.facility-capacity-chart .facility-capacity-chart-header .updating-summary,
.facility-capacity-chart .facility-capacity-chart-header .error-summary,
.facility-capacity-chart .facility-capacity-chart-header .excluded-summary,
.facility-capacity-chart .facility-capacity-chart-header .forecast-loading-summary,
.facility-capacity-chart .facility-capacity-chart-header .no-forecast-summary {
  font-size: 11px;
}
.facility-capacity-chart .facility-capacity-chart-header .updating-summary {
  color: var(--motif-color-text-muted, #747480);
}
.facility-capacity-chart .facility-capacity-chart-header .forecast-loading-summary {
  color: var(--motif-color-text-muted, #747480);
  font-style: italic;
}
.facility-capacity-chart .facility-capacity-chart-header .error-summary {
  color: var(--motif-color-status-error, #c70117);
  cursor: help;
}
.facility-capacity-chart .facility-capacity-chart-header .no-forecast-summary {
  color: var(--motif-color-text-muted, #747480);
  cursor: help;
  font-style: italic;
}
.facility-capacity-chart .facility-capacity-chart-header .excluded-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 10px;
  font-weight: 400;
  white-space: nowrap;
  cursor: pointer;
  background: rgba(255, 129, 10, 0.15);
  color: #d07200;
}
.facility-capacity-chart .facility-capacity-chart-header .excluded-chip:focus-visible {
  outline: 2px solid #d07200;
  outline-offset: 1px;
}
.facility-capacity-chart .facility-capacity-chart-header .forecast-toggle-button {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  height: 24px;
  padding: 0 8px;
  font-size: 11px;
  white-space: nowrap;
}
.facility-capacity-chart .facility-capacity-chart-header .forecast-toggle-button.forecast-toggle-button--icon {
  min-width: 24px;
  padding: 0;
  gap: 0;
}
.facility-capacity-chart .facility-capacity-chart-header .facility-capacity-collapse-button {
  min-width: 24px;
  height: 24px;
  padding: 0;
}
.facility-capacity-chart .facility-capacity-chart-canvas {
  position: relative;
  flex: 1;
  min-height: 160px;
  width: 100%;
  touch-action: none;
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip {
  position: absolute;
  top: 8px;
  z-index: 2;
  pointer-events: none;
  min-width: 150px;
  max-width: 200px;
  padding: 8px 10px;
  background: var(--motif-color-bg-primary, #ffffff);
  border: 1px solid var(--motif-color-border, #c4c4cd);
  border-radius: 4px;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
  font-size: 11px;
  color: var(--motif-color-text-primary, #2e2e38);
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-title {
  font-weight: var(--weight-bold, 700);
  margin-bottom: 6px;
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-group + .crosshair-tooltip-group {
  margin-top: 6px;
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-group-label {
  font-weight: var(--weight-bold, 700);
  margin-bottom: 2px;
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-item {
  display: flex;
  align-items: center;
  gap: 5px;
  line-height: 1.5;
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  flex-shrink: 0;
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-label {
  color: var(--motif-color-text-muted, #747480);
}
.facility-capacity-chart .facility-capacity-crosshair-tooltip .crosshair-tooltip-value {
  margin-left: auto;
  font-variant-numeric: tabular-nums;
}
.facility-capacity-chart .facility-capacity-legend {
  flex-shrink: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 6px;
  margin-top: 10px;
}
.facility-capacity-chart .facility-capacity-legend-group {
  display: grid;
  align-items: center;
  gap: 8px;
  padding: 6px 16px;
  border: 1px solid var(--motif-color-border, #999999);
  border-radius: 4px;
  width: min(100%, 900px);
  box-sizing: border-box;
}
.facility-capacity-chart .facility-capacity-legend-group-label {
  font-size: 12px;
  font-weight: var(--weight-bold, 700);
  white-space: nowrap;
  color: var(--motif-color-text-primary, #2e2e38);
}
.facility-capacity-chart .facility-capacity-legend-item {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  font-size: 11px;
  white-space: nowrap;
  color: var(--motif-color-text-primary, #2e2e38);
  cursor: pointer;
}
.facility-capacity-chart .facility-capacity-legend-item.is-hidden {
  opacity: 0.4;
}
.facility-capacity-chart .facility-capacity-legend-line {
  width: 28px;
  height: 0;
  border-top: 2.5px solid;
}
.facility-capacity-chart .facility-capacity-legend-line.is-dashed {
  border-top-style: dashed;
}
.facility-capacity-chart .calculation-popover-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.facility-capacity-chart .calculation-popover-title,
.facility-capacity-chart .calculation-popover-item-title {
  font-weight: var(--weight-bold, 700);
}
.facility-capacity-chart .calculation-popover-title {
  margin-bottom: 8px;
}
.facility-capacity-chart .calculation-popover-item {
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 8px;
  align-items: start;
  color: var(--motif-color-text-primary, #2e2e38);
  font-size: 11px;
}
.facility-capacity-chart .calculation-popover-copy {
  color: var(--motif-color-text-muted, #747480);
  line-height: 1.4;
}
.facility-capacity-chart .facility-capacity-chart-empty {
  flex: 1;
  padding: 12px 0;
}

.excluded-chip-tooltip {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 280px;
  font-size: 11px;
}
.excluded-chip-tooltip .excluded-chip-tooltip-title {
  font-weight: var(--weight-bold, 700);
  margin-bottom: 2px;
}
.excluded-chip-tooltip .excluded-chip-tooltip-row {
  display: flex;
  flex-direction: column;
}
.excluded-chip-tooltip .excluded-chip-tooltip-name {
  font-weight: 500;
}
.excluded-chip-tooltip .excluded-chip-tooltip-reason {
  color: var(--motif-color-text-muted, #747480);
}/**
 * MajorEquipmentScopingPanel styles
 *
 * Splitter wrapper: left canvas = responsive CSS-grid of category drop zones,
 * right pane hosts the existing BudgetItemsPanel (kit-only). Visual language
 * mirrors the cost-template detail screens so the scope feels at-home.
 */
.major-equipment-scoping-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 8px;
  box-sizing: border-box;
}
.major-equipment-scoping-panel.loading, .major-equipment-scoping-panel.error, .major-equipment-scoping-panel.empty {
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 24px;
}
.major-equipment-scoping-panel .p-splitter {
  flex: 1;
  min-width: 0;
  min-height: 0;
  border: none;
  background: transparent;
  overflow: hidden;
}
.major-equipment-scoping-panel .p-splitter-panel {
  min-width: 0;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.major-equipment-scoping-panel .p-splitter-gutter {
  width: 8px;
  flex-shrink: 0;
  background-color: var(--motif-neutral-200, #e1e1e6);
  cursor: col-resize;
  position: relative;
  z-index: 20;
}
.major-equipment-scoping-panel .p-splitter-gutter:hover {
  background-color: var(--motif-neutral-300, #afaeba);
}
.major-equipment-scoping-panel .p-splitter-gutter-handle {
  background-color: var(--motif-neutral-400, #9191a1);
}
.major-equipment-scoping-panel .scoping-canvas-splitter {
  flex: 1;
  min-height: 0;
}
.major-equipment-scoping-panel .scoping-canvas-splitter.p-splitter-vertical > .p-splitter-gutter,
.major-equipment-scoping-panel .scoping-canvas-splitter .p-splitter-vertical > .p-splitter-gutter {
  width: auto;
  height: 8px;
  cursor: row-resize;
}
.major-equipment-scoping-panel .scoping-canvas-panel {
  padding: 0;
  min-width: 0;
}
.major-equipment-scoping-panel .scoping-source-panel {
  padding: 0;
  position: relative;
  z-index: 0;
  min-width: 0;
}
.major-equipment-scoping-panel .scoping-canvas {
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.major-equipment-scoping-panel .scoping-equipment-panel,
.major-equipment-scoping-panel .scoping-capacity-panel {
  padding: 0;
  min-height: 0;
}
.major-equipment-scoping-panel .scoping-canvas-card {
  min-height: 0;
  display: flex;
  flex-direction: column;
  background: var(--card--bg-color, #fff);
  border-radius: var(--motif-border-radius-md, 8px);
  border: 1px solid var(--card--border-color, #e1e1e6);
  box-shadow: var(--motif-shadow-sm, var(--motif-elevation-sm, 0 1px 3px rgba(0, 0, 0, 0.08)));
  overflow: hidden;
}
.major-equipment-scoping-panel .scoping-equipment-card {
  flex: 1 1 auto;
  min-height: 240px;
}
.major-equipment-scoping-panel .scoping-capacity-card {
  flex: 1 1 auto;
  min-height: 320px;
}
.major-equipment-scoping-panel .scoping-equipment-panel .scoping-equipment-card,
.major-equipment-scoping-panel .scoping-capacity-panel .scoping-capacity-card {
  height: 100%;
}
.major-equipment-scoping-panel .scoping-capacity-collapsed {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex: 0 0 auto;
  margin-top: 12px;
  padding: 10px 16px;
  background: var(--card--bg-color, #fff);
  border: 1px solid var(--card--border-color, #e1e1e6);
  border-radius: var(--motif-border-radius-md, 8px);
  color: var(--motif-neutral-600, #6f6f7f);
  font-size: 12px;
}
.major-equipment-scoping-panel .scoping-canvas-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--card--border-color, #e1e1e6);
  flex-shrink: 0;
}
.major-equipment-scoping-panel .scoping-canvas-header .header-title {
  font-size: 14px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color, #2e2e38);
}
.major-equipment-scoping-panel .scoping-canvas-header .header-title-group {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}
.major-equipment-scoping-panel .scoping-canvas-header .header-summary {
  font-size: 11px;
  color: var(--motif-neutral-500, #7f7f91);
  margin-left: auto;
  white-space: nowrap;
}
.major-equipment-scoping-panel .scoping-categories-grid {
  flex: 1;
  min-height: 0;
  overflow: auto;
  display: flex;
  flex-direction: column;
  background-color: transparent;
  border-bottom: 1px solid var(--card--border-color, #e1e1e6);
}
.major-equipment-scoping-panel .calculation-popover-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.major-equipment-scoping-panel .calculation-popover-title,
.major-equipment-scoping-panel .calculation-popover-item-title {
  font-weight: var(--weight-bold, 700);
}
.major-equipment-scoping-panel .calculation-popover-title {
  margin-bottom: 8px;
}
.major-equipment-scoping-panel .calculation-popover-item {
  display: grid;
  grid-template-columns: 10px 1fr;
  gap: 8px;
  align-items: start;
  color: var(--body--color, #2e2e38);
  font-size: 11px;
}
.major-equipment-scoping-panel .calculation-popover-copy {
  color: var(--motif-color-text-muted, #747480);
  line-height: 1.4;
}motif-card.scope-tab,
.scope-tab.motif-card-orientation-vertical,
.scope-tab.motif-card-orientation-horizontal,
.scope-tab.motif-card-border {
  width: 100%;
  height: auto;
  display: block;
}

.scope-tab--major-equipment {
  display: flex;
  height: 100%;
  min-height: 0;
}
.scope-tab--loading, .scope-tab--error, .scope-tab--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 200px;
  gap: 12px;
  color: #747480;
}
.scope-tab--error {
  color: #f95d54;
}

.scope-section {
  margin-bottom: 28px;
}
.scope-section:last-child {
  margin-bottom: 0;
}
.scope-section__header {
  display: flex;
  align-items: baseline;
  gap: 8px;
  margin-bottom: 16px;
  padding-bottom: 10px;
  border-bottom: 1px solid #e1e1e6;
}
.scope-section__title {
  font-size: 12px;
  font-weight: 700;
  color: #747480;
  letter-spacing: 0.5px;
  margin: 0;
}
.scope-section__subtitle {
  font-size: 10px;
  font-weight: 400;
  color: #a1a1a6;
  text-transform: none;
}
.scope-section__grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
@media (max-width: 1200px) {
  .scope-section__grid {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media (max-width: 768px) {
  .scope-section__grid {
    grid-template-columns: 1fr;
  }
}

[data-theme=dark] .scope-section__header {
  border-bottom-color: var(--color-border, #3d3d4d);
}
[data-theme=dark] .scope-section__title {
  color: var(--color-text-secondary, #a1a1a6);
}
[data-theme=dark] .scope-section__subtitle {
  color: var(--color-text-tertiary, #6c6c7d);
}

.scope-asset-section {
  margin-bottom: 24px;
}

.scope-asset-header {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 12px;
}

.scope-asset-section + .scope-asset-section .scope-asset-header {
  padding-top: 12px;
  border-top: 1px solid #e1e1e6;
}

.scope-asset-type {
  font-weight: 700;
  font-size: 14px;
}

.scope-asset-separator {
  color: #a1a1a6;
  font-weight: 300;
}

.scope-asset-name {
  font-size: 14px;
}

.scope-section-title {
  font-size: 14px;
  font-weight: 700;
  color: inherit;
  letter-spacing: normal;
  margin: 0 0 12px 0;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--color-border, #e1e1e6);
}

.scope-project-parameters {
  margin-top: 24px;
}

.scope-major-equipment {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.scope-major-equipment > .major-equipment-scoping-panel {
  flex: 1;
  min-height: 0;
}

[data-theme=dark] .scope-asset-section + .scope-asset-section .scope-asset-header {
  border-top-color: var(--color-border, #3d3d4d);
}

[data-theme=dark] .scope-asset-separator {
  color: #6c6c7d;
}/**
 * BudgetItemsPanel Styles
 */
/* Shared rate-basis "chips" cell styling.
   Used by the Budget Items page grid and the Cost Estimate side "Budget Items" grid so the two
   stay identical. Import this partial wherever <RateBasisChips> is rendered. */
.rate-basis-cell {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  overflow: hidden;
}
.rate-basis-cell .rate-basis-scroll {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.rate-basis-cell .rate-basis-chip,
.rate-basis-cell .rate-basis-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 1px 9px;
  border-radius: 10px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid transparent;
}
.rate-basis-cell .rate-basis-chip {
  background-color: rgba(53, 164, 232, 0.15);
  color: #35a4e8;
  border-color: rgba(53, 164, 232, 0.3);
}
.rate-basis-cell .rate-basis-badge {
  background-color: transparent;
  color: var(--neutral-600, #6b7280);
  border-color: var(--neutral-400, #9ca3af);
}

.budget-items-panel {
  --budget-panel-space-inline: var(--motif-spacing-lg, 16px);
  --budget-panel-space-section: var(--motif-spacing-md, 12px);
  --budget-panel-space-item: var(--motif-spacing-sm, 8px);
  --budget-badge-radius: var(--motif-border-radius-sm, 4px);
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}
.budget-items-panel .budget-items-card {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  min-height: 0;
  padding: 0;
}
.budget-items-panel .budget-items-card motif-card-header,
.budget-items-panel .budget-items-card .motif-card-header {
  padding: var(--budget-panel-space-section) var(--budget-panel-space-inline);
  border-bottom: 2px solid var(--card--border-color);
  flex-shrink: 0;
}
.budget-items-panel .budget-items-card motif-card-body,
.budget-items-panel .budget-items-card .motif-card-body {
  flex: 1 1 auto;
  width: 100%;
  padding: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.budget-items-panel .budget-items-header {
  display: flex;
  align-items: center;
  gap: var(--budget-panel-space-item);
}
.budget-items-panel .budget-items-header .header-title {
  color: var(--body--color);
}
.budget-items-panel .budget-items-content {
  flex: 1;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: var(--budget-panel-space-section) var(--budget-panel-space-inline);
  min-height: 0;
}
.budget-items-panel .budget-items-search {
  margin-bottom: var(--budget-panel-space-section);
  flex-shrink: 0;
}
.budget-items-panel .budget-items-search .motif-input {
  width: 100%;
}
.budget-items-panel .budget-items-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  min-height: 200px;
}
.budget-items-panel .budget-items-grid {
  flex: 1;
  min-height: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.budget-items-panel .budget-items-grid .ag-row {
  font-size: 13px;
  color: var(--body--color);
}
.budget-items-panel .budget-items-grid .ag-row:hover {
  background-color: var(--grey-01);
}
.budget-items-panel .budget-items-grid .budget-item-name-cell {
  display: inline-flex;
  align-items: center;
  gap: var(--budget-panel-space-item);
  min-width: 0;
}
.budget-items-panel .budget-items-grid .budget-item-name-cell span:first-child {
  min-width: 0;
}
.budget-items-panel .budget-items-grid .budget-item-kit-badge {
  display: inline-flex;
  align-items: center;
  white-space: nowrap;
  flex-shrink: 0;
  background-color: color-mix(in srgb, var(--maroon-primary) 16%, var(--card--bg-color));
  color: var(--maroon-primary);
  outline: none;
}
.budget-items-panel .budget-items-grid .budget-item-kit-badge .motif-badge-number {
  font-size: 10px;
  font-weight: var(--weight-bold, 700);
}
.budget-items-panel .budget-items-grid .ag-drag-handle {
  cursor: grab;
}
.budget-items-panel .budget-items-grid .ag-drag-handle:active {
  cursor: grabbing;
}
.budget-items-panel .budget-items-grid .ag-row-dragging {
  opacity: 0.5;
}
.budget-items-panel .budget-items-grid .rate-cell {
  text-align: right;
  font-family: "Monaco", "Consolas", monospace;
}
.budget-items-panel .budget-items-grid .category-cell .category-badge {
  display: inline-block;
  padding: 2px var(--budget-panel-space-item);
  border-radius: var(--budget-badge-radius);
  font-size: 11px;
  font-weight: 600;
}
.budget-items-panel .budget-items-grid .category-cell .category-badge.labor {
  background-color: var(--blue-01);
  color: var(--blue-07);
}
.budget-items-panel .budget-items-grid .category-cell .category-badge.equipment {
  background-color: var(--purple-01);
  color: var(--purple-07);
}
.budget-items-panel .budget-items-grid .category-cell .category-badge.materials {
  background-color: var(--green-01);
  color: var(--green-07);
}
.budget-items-panel .budget-items-grid .category-cell .category-badge.services {
  background-color: var(--orange-01);
  color: var(--orange-07);
}
.cost-tab {
  --cost-schedule-color: var(--maroon-03);
  --cost-phase-color: var(--blue-03);
  --cost-activity-color: var(--green-04);
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 8px;
}
.cost-tab--loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px;
  color: var(--text-colors-default-secondary);
}
.cost-tab--error {
  padding: 24px;
  background: var(--bg-colors-default-primary);
  border-radius: var(--motif-border-radius-md, 8px);
  box-shadow: var(--motif-shadow-sm, var(--motif-elevation-sm));
}
.cost-tab--error p {
  margin: 0 0 16px;
  color: var(--accent-error-primary);
}
.cost-tab--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  background: var(--bg-colors-default-primary);
  border-radius: var(--motif-border-radius-md, 8px);
  box-shadow: var(--motif-shadow-sm, var(--motif-elevation-sm));
  padding: 48px 24px;
  text-align: center;
}
.cost-tab--empty h3 {
  margin: 0 0 12px;
  font-size: 16px;
  font-weight: 700;
  color: var(--text-colors-default-primary);
}
.cost-tab--empty p {
  margin: 0 0 20px;
  color: var(--text-colors-default-secondary);
  max-width: 480px;
}
.cost-tab--empty motif-inline-message,
.cost-tab--empty .motif-inline-message {
  max-width: 520px;
  margin-bottom: 12px;
  text-align: left;
}
.cost-tab__error-guidance {
  font-size: 13px;
  color: var(--text-colors-default-secondary);
  font-style: italic;
}
.cost-tab .cost-controls-bar {
  display: flex;
  align-items: flex-end;
  justify-content: flex-start;
  padding: 0 0 12px;
  border-bottom: 1px solid var(--border-colors-default-primary);
  margin-bottom: 12px;
  gap: 16px;
}
.cost-tab .cost-controls-left {
  display: flex;
  align-items: center;
  gap: 16px;
}
.cost-tab .cost-controls-center {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-left: auto;
}
.cost-tab .cost-controls-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.cost-tab .cost-summary-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.cost-tab .cost-summary-label {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-colors-default-secondary);
}
.cost-tab .cost-summary-value {
  font-size: 22px;
  font-weight: 700;
  color: var(--text-colors-default-primary);
}
.cost-tab .cost-template-label {
  font-size: 12px;
  font-weight: 400;
  color: var(--text-colors-default-secondary);
  white-space: nowrap;
}
.cost-tab .cost-template-name {
  font-size: 14px;
  font-weight: 600;
  color: var(--text-colors-default-primary);
}
.cost-tab .cost-template-select {
  min-width: 220px;
  width: 240px;
}
.cost-tab .cost-template-select.compact {
  min-width: 240px;
  width: 100%;
  max-width: 320px;
}
.cost-tab .level-schedule,
.cost-tab .level-phase,
.cost-tab .level-activity,
.cost-tab .level-item {
  display: flex;
  align-items: center;
  gap: 6px;
}
.cost-tab .level-schedule {
  color: var(--cost-schedule-color);
  font-weight: 700;
}
.cost-tab .level-phase {
  color: var(--cost-phase-color);
  font-weight: 600;
}
.cost-tab .level-activity {
  color: var(--cost-activity-color);
  font-weight: 500;
}
.cost-tab .level-item {
  color: var(--text-colors-default-primary);
}
.cost-tab .ag-row.row-type-schedule {
  background-color: color-mix(in srgb, var(--cost-schedule-color) 8%, transparent);
  font-weight: 700;
}
.cost-tab .ag-row.row-type-phase {
  background-color: color-mix(in srgb, var(--cost-phase-color) 8%, transparent);
  font-weight: 600;
}
.cost-tab .ag-row.row-type-activity {
  background-color: color-mix(in srgb, var(--cost-activity-color) 6%, transparent);
  font-weight: 600;
}

.cost-tab__template-picker-card {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 16px;
}

.cost-template-selector-wrapper {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.cost-template-selector-field {
  overflow: hidden;
}
.cost-template-selector-field .cost-template-select {
  display: block;
  margin-top: -26px;
  margin-bottom: -6px;
}

.cost-tab__no-template-note {
  font-size: 11px;
  color: var(--accent-warning-primary, #f5a623);
  font-style: italic;
  padding-left: 10px;
}

.cost-tab__content-area {
  flex: 1;
  min-height: 0;
  overflow: visible;
}

.cost-tab__splitter {
  height: 100%;
  width: 100%;
  border: none;
  background: transparent;
  overflow: visible;
}
.cost-tab__splitter .p-splitter-panel {
  overflow: visible;
}
.cost-tab__splitter .p-splitter-gutter {
  width: 8px;
  background-color: var(--motif-neutral-200);
  z-index: 1;
}
.cost-tab__splitter .p-splitter-gutter:hover {
  background-color: var(--motif-neutral-300);
}
.cost-tab__splitter .p-splitter-gutter-handle {
  background-color: var(--motif-neutral-400);
}

.cost-tab__splitter-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.cost-tab__splitter-panel--budget {
  position: relative;
  z-index: 10;
  transition: flex-basis 0.2s ease;
}
.cost-tab__splitter-panel--budget.collapsed {
  min-width: 48px !important;
  max-width: 48px !important;
}

.cost-tab__grid {
  flex: 1;
  min-width: 0;
  position: relative;
  border-radius: var(--motif-border-radius-md, 8px);
  box-shadow: var(--motif-shadow-sm, var(--motif-elevation-sm));
  overflow: hidden;
}
.cost-tab__grid .ag-root-wrapper {
  height: 100%;
}
.cost-tab__grid .ag-row-odd {
  background-color: inherit;
}

.cost-tab__items-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: visible;
  position: relative;
}
.cost-tab__items-panel.collapsed {
  align-items: flex-start;
  justify-content: center;
  padding-top: 12px;
}

.cost-tab__collapse-toggle {
  position: absolute;
  top: 28px;
  left: -12px;
  width: 24px;
  height: 24px;
  background: var(--motif-neutral-00, #ffffff);
  border: 1px solid var(--motif-neutral-200, #e1e1e6);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  transition: transform 0.2s ease, background-color 0.15s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 0;
}
.cost-tab__collapse-toggle:hover {
  background-color: var(--motif-neutral-50, #f5f5f5);
}
.cost-tab__collapse-toggle .motif-icon {
  width: 14px;
  height: 14px;
  color: var(--motif-neutral-500, #7f7f91);
  transition: transform 0.2s ease;
  transform: rotate(180deg);
}
.cost-tab__collapse-toggle.collapsed {
  position: static;
  left: auto;
  margin-top: 0;
}
.cost-tab__collapse-toggle.collapsed .motif-icon {
  transform: rotate(0deg);
}

/* The drag ghost sits on top of the cursor — make it transparent to pointer events
   so document.elementFromPoint can find the row underneath */
.ag-dnd-ghost {
  pointer-events: none !important;
}

.cost-tab__qty-type-select,
.cost-tab__cell-input {
  width: 100%;
  height: 100%;
  padding: 0;
  margin: 0;
  border: none;
  border-radius: var(--motif-border-radius-xs, 2px);
  background: transparent;
  color: var(--text-colors-default-primary);
  font-size: 13px;
  font-family: inherit;
  box-sizing: border-box;
  text-align: right;
  -moz-appearance: textfield;
}
.cost-tab__qty-type-select::-webkit-outer-spin-button, .cost-tab__qty-type-select::-webkit-inner-spin-button,
.cost-tab__cell-input::-webkit-outer-spin-button,
.cost-tab__cell-input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
.cost-tab__qty-type-select:hover,
.cost-tab__cell-input:hover {
  outline: 1px solid var(--border-colors-default-primary);
  outline-offset: -1px;
  background: var(--bg-colors-default-primary);
}
.cost-tab__qty-type-select:focus,
.cost-tab__cell-input:focus {
  outline: var(--focus-ring-border-width, 2px) var(--focus-ring-border-style, solid) var(--focus-ring-border-color);
  outline-offset: -2px;
  background: var(--bg-colors-default-primary);
}

.cost-tab__qty-type-select {
  cursor: pointer;
  appearance: auto;
}

.cost-tab__supplier-select {
  cursor: pointer;
  appearance: auto;
  text-align: left;
  text-align-last: left;
}
.cost-tab__supplier-select option {
  background-color: var(--bg-colors-default-primary);
  color: var(--text-colors-default-primary);
}
.cost-tab__supplier-select--needs {
  outline: 1px solid var(--accent-warning-primary, #d9822b);
  outline-offset: -1px;
  background: color-mix(in srgb, var(--accent-warning-primary, #d9822b) 12%, transparent);
  color: var(--accent-warning-primary, #d9822b);
}
.cost-tab__supplier-select--needs:hover {
  outline-color: var(--accent-warning-primary, #d9822b);
  background: color-mix(in srgb, var(--accent-warning-primary, #d9822b) 18%, transparent);
}

.cost-tab__supplier-none {
  color: var(--text-colors-default-secondary);
}

.remove-item-btn {
  background: none;
  border: none;
  cursor: pointer;
  padding: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  color: var(--accent-error-primary);
  width: 32px;
  height: 28px;
  border-radius: 4px;
}
.remove-item-btn svg {
  width: 20px;
  height: 20px;
  display: block;
}
.remove-item-btn:hover {
  background-color: color-mix(in srgb, var(--accent-error-primary) 12%, transparent);
}

.cost-tab__modal-copy {
  margin: 0 0 12px;
  color: var(--text-colors-default-primary);
}
.cost-tab__modal-copy:last-child {
  margin-bottom: 0;
}.actuals-tab {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 12px;
  padding: 16px;
  overflow: hidden;
}
.actuals-tab--loading {
  align-items: center;
  justify-content: center;
}
.actuals-tab__toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-shrink: 0;
}
.actuals-tab__source {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 4px 12px;
  min-width: 0;
  font-size: 12px;
  color: #747480;
}
.actuals-tab__source code {
  font-family: Consolas, "Cascadia Mono", monospace;
  color: #2e2e38;
  overflow-wrap: anywhere;
}
.actuals-tab__source-label {
  font-size: 11px;
  font-weight: 600;
}
.actuals-tab__tiles {
  display: flex;
  gap: 12px;
  align-items: stretch;
  flex-shrink: 0;
}
.actuals-tab__tile {
  flex: 1;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 16px;
  background: #f9f9fb;
  border: 1px solid #e1e1e6;
  border-radius: 8px;
}
.actuals-tab__tile-label {
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.2px;
  color: #747480;
  white-space: nowrap;
}
.actuals-tab__tile-header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
}
.actuals-tab__tile-asof {
  font-size: 10px;
  color: #747480;
  white-space: nowrap;
}
.actuals-tab__tile--afe {
  flex-direction: row;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.actuals-tab__tile-body {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.actuals-tab__version-select {
  flex: 0 1 300px;
  min-width: 180px;
}
.actuals-tab__tile-value {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.2;
  color: #2e2e38;
}
.actuals-tab__tile-sub {
  font-size: 10px;
  font-weight: 600;
}
.actuals-tab__tile-sub.up {
  color: #2da771;
}
.actuals-tab__tile-sub.down {
  color: #d32f2f;
}
.actuals-tab__tile-sub.neutral {
  color: #747480;
}
.actuals-tab__message {
  flex-shrink: 0;
}
.actuals-tab__grid {
  flex: 1;
  min-height: 0;
  width: 100%;
}
.actuals-tab__label {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
.actuals-tab__label.level-0 {
  color: #922b73;
  font-weight: 700;
}
.actuals-tab__label.level-1 {
  color: #35a4e8;
  font-weight: 600;
}
.actuals-tab__label.level-2 {
  color: #2da771;
  font-weight: 500;
}
.actuals-tab__label.level-3 {
  color: #2e2e38;
}
.actuals-tab__row.level-0 {
  background-color: rgba(146, 43, 115, 0.08);
}
.actuals-tab__row.level-1 {
  background-color: rgba(53, 164, 232, 0.08);
}
.actuals-tab__row.level-2 {
  background-color: rgba(45, 167, 113, 0.06);
}
.actuals-tab__variance {
  color: #747480;
}
.actuals-tab__variance-chip {
  display: inline-block;
  padding: 3px 10px;
  border-radius: 12px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: 0.2px;
}
.actuals-tab__variance-chip.over {
  background: #fdecea;
  color: #d32f2f;
  border: 1px solid #f5c6c0;
}
.actuals-tab__variance-chip.under {
  background: #e7f5ee;
  color: #1f8a4c;
  border: 1px solid #bfe3cf;
}
.actuals-tab__chip {
  display: inline-flex;
  align-items: center;
  padding: 0 8px;
  height: 16px;
  border-radius: 8px;
  font-size: 9px;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.2px;
  text-transform: uppercase;
  white-space: nowrap;
}
.actuals-tab__chip.unmapped {
  background: rgba(255, 129, 10, 0.15);
  color: #d07200;
}
.actuals-tab__chip.unbudgeted {
  background: rgba(211, 47, 47, 0.12);
  color: #d32f2f;
}
.actuals-tab__chip.pending {
  background: rgba(116, 116, 128, 0.14);
  color: #57575f;
}
.actuals-tab--afe-pending .actuals-tab__tile-value--afe {
  color: #a4a4b0;
}.motif-split-button__menu motif-dropdown-item {
  padding-top: 6px;
  padding-bottom: 6px;
  border-radius: 4px;
}
.motif-split-button__menu motif-dropdown-item:not([disabled]) {
  cursor: pointer;
}
.motif-split-button__menu motif-dropdown-item:not([disabled]):hover, .motif-split-button__menu motif-dropdown-item:not([disabled]):focus-visible {
  background-color: var(--dropdown-menu-item-hover-bg-color);
}

.motif-split-button__option {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 14px;
  line-height: 20px;
  white-space: nowrap;
}
.motif-split-button__option motif-icon {
  flex-shrink: 0;
}.schedule-import-wizard::part(modal) {
  width: min(1280px, 100vw - 48px);
  max-width: calc(100vw - 48px);
  height: min(860px, 100vh - 48px);
  max-height: calc(100vh - 48px);
  overflow-y: hidden;
}
.schedule-import-wizard::part(body) {
  min-height: 0;
  overflow-y: auto;
}
.schedule-import-wizard > [slot=footer] {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  width: 100%;
}

.schedule-import__body {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.schedule-import__timeline {
  margin-bottom: 4px;
}
.schedule-import__muted {
  color: #656579;
  font-size: 13px;
}
.schedule-import__muted.is-blocked {
  color: #b26100;
}
.schedule-import__lead {
  margin: 0 0 12px;
}
.schedule-import__footer-actions {
  display: flex;
  gap: 8px;
  align-items: center;
  flex-shrink: 0;
}
.schedule-import__upload {
  display: grid;
  grid-template-columns: minmax(0, 3fr) minmax(0, 2fr);
  gap: 16px;
}
.schedule-import__pane {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 16px;
  border: 1px solid #e6e6e9;
  border-radius: 4px;
}
.schedule-import__template ul {
  margin: 0;
  padding-left: 18px;
}
.schedule-import__map, .schedule-import__review, .schedule-import__confirm, .schedule-import__done {
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.schedule-import__section h4 {
  margin: 0 0 4px;
  font-size: 14px;
}
.schedule-import__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}
.schedule-import__table th,
.schedule-import__table td {
  padding: 6px 8px;
  border-bottom: 1px solid #e6e6e9;
  text-align: left;
  vertical-align: middle;
}
.schedule-import__table th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: #f6f6fa;
  color: #656579;
  font-weight: 600;
  white-space: nowrap;
}
.schedule-import__table tr.is-invalid td {
  background: #fde8ea;
}
.schedule-import__required {
  color: #ea011b;
}
.schedule-import__section-header {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}
.schedule-import__section-header p {
  margin: 0 0 8px;
}
.schedule-import__extra-table {
  margin-top: 8px;
}
.schedule-import__extra-table th:nth-child(1),
.schedule-import__extra-table td:nth-child(1) {
  width: 220px;
}
.schedule-import__extra-table th:nth-child(2),
.schedule-import__extra-table td:nth-child(2) {
  width: 280px;
  min-width: 280px;
}
.schedule-import__extra-table th:nth-child(4),
.schedule-import__extra-table td:nth-child(4) {
  width: 48px;
  text-align: right;
}
.schedule-import__extra-table motif-select,
.schedule-import__extra-table motif-input {
  display: block;
  width: 100%;
}
.schedule-import__add-menu {
  min-width: 240px;
  max-height: 320px;
  overflow-y: auto;
}
.schedule-import__sample {
  height: 220px;
  width: 100%;
}
.schedule-import__choices {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.schedule-import__progress {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 32px 0;
}
.schedule-import__tiles {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 12px;
}
.schedule-import__tiles.is-confirm {
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
}
.schedule-import__tile {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
  padding: 12px;
  border: 1px solid var(--motif-color-border-default, #d7d7dc);
  border-radius: 8px;
  background: var(--motif-color-surface, #fff);
}
.schedule-import__tile.is-danger {
  border-color: var(--motif-color-status-error, #c7012b);
}
.schedule-import__tile.is-danger .schedule-import__tile-value {
  color: var(--motif-color-status-error, #c7012b);
}
.schedule-import__tile-label {
  font-size: 0.8rem;
  font-weight: 500;
  color: var(--motif-color-text-secondary, #747480);
}
.schedule-import__tile-value {
  overflow: hidden;
  font-size: 1.5rem;
  font-weight: 700;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.schedule-import__tile-note {
  font-size: 0.75rem;
  color: var(--motif-color-text-secondary, #747480);
}
.schedule-import__errors {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.schedule-import__wbs-issues {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.schedule-import__hint {
  margin-top: 4px;
  font-size: 12px;
  color: #2e2e38;
}
.schedule-import__error-list {
  max-height: 180px;
  overflow-y: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  font-size: 13px;
}
.schedule-import__error-list li {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
  padding: 2px 0;
  border-bottom: 1px solid #e6e6e9;
}
.schedule-import__error-actions, .schedule-import__error-footer, .schedule-import__filters {
  display: flex;
  align-items: center;
  gap: 8px;
}
.schedule-import__error-actions {
  flex-shrink: 0;
}
.schedule-import__error-footer {
  justify-content: flex-end;
}
.schedule-import__filters {
  flex-wrap: wrap;
}
.schedule-import__spacer {
  flex: 1;
}
.schedule-import__recalc {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #656579;
  font-size: 13px;
}
.schedule-import__recalc motif-progress-bar {
  width: 80px;
}
.schedule-import__table-wrap {
  max-height: 420px;
  overflow: auto;
  border: 1px solid #e6e6e9;
  border-radius: 4px;
}
.schedule-import__pager {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 8px;
  font-size: 13px;
}
.schedule-import__map-table th:nth-child(2),
.schedule-import__map-table td:nth-child(2) {
  width: 280px;
  min-width: 280px;
}
.schedule-import__map-table td:nth-child(2) motif-select {
  display: block;
  width: 100%;
}
.schedule-import__review-table td:nth-child(4),
.schedule-import__review-table td:nth-child(5),
.schedule-import__review-table td:nth-child(6) {
  white-space: nowrap;
}
.schedule-import__project-row td {
  background: #fafafc;
}
.schedule-import__line .schedule-import__line-name {
  padding-left: 40px;
}
.schedule-import__line.is-error td {
  background: #fff8f9;
}
.schedule-import .is-excluded td {
  opacity: 0.5;
}
.schedule-import__oldnew s {
  color: #7f7f91;
}
.schedule-import__delta {
  font-weight: 600;
}
.schedule-import__delta.is-late {
  color: #ea011b;
}
.schedule-import__delta.is-early {
  color: #2da771;
}
.schedule-import__delta.is-none {
  color: #7f7f91;
}
.schedule-import__pill {
  display: inline-block;
  margin-left: 8px;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 12px;
  background: #f6f6fa;
  color: #656579;
}
.schedule-import__pill.is-danger {
  background: #fde8ea;
  color: #ea011b;
}
.schedule-import__pill.is-late {
  background: #fff4e0;
  color: #b26100;
}
.schedule-import__pill.is-early {
  background: #e6f5ee;
  color: #2da771;
}
.schedule-import__diamond {
  color: #2e2e38;
}
.schedule-import__tag {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 12px;
  white-space: nowrap;
}
.schedule-import__tag.is-file {
  background: #eef5fb;
  color: #0f69ae;
}
.schedule-import__tag.is-cascade {
  background: #f2ecf9;
  color: #6b3fa0;
}
.schedule-import__tag.is-actual {
  background: #e6f5ee;
  color: #2da771;
}
.schedule-import__note {
  font-size: 12px;
  color: #656579;
}
.schedule-import__note.is-error {
  color: #ea011b;
}
.schedule-import__note.is-warning {
  color: #b26100;
}
.schedule-import__note.is-reason {
  color: #6b3fa0;
}
.schedule-import__empty {
  padding: 16px;
}
.schedule-import__legend {
  margin: 0;
  font-size: 12px;
  color: #656579;
}
.schedule-import__confirm h3 {
  margin: 0 0 4px;
}
.schedule-import__confirm p {
  margin: 0;
}
.schedule-import__undo {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 12px 16px;
  border: 1px solid #e6e6e9;
  border-radius: 4px;
  background: #f9f9fa;
}
.schedule-import__undo h4 {
  margin: 0 0 2px;
  font-size: 14px;
}
.schedule-import__undo p {
  margin: 0;
}
.schedule-import__conflicts {
  margin: 4px 0;
  padding-left: 18px;
}.schedule-tab {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 16px;
}
.schedule-tab__notice {
  margin-bottom: 12px;
}
.schedule-tab__schedules {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 24px;
  padding: 0 0 12px;
  margin-bottom: 12px;
  border-bottom: 1px solid #e1e1e6;
}
.schedule-tab--loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 48px;
  color: #656579;
}
.schedule-tab--error {
  padding: 24px;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.schedule-tab--error p {
  margin: 0 0 16px;
  color: #b9251c;
}
.schedule-tab--empty {
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 48px 24px;
  text-align: center;
}
.schedule-tab--empty h3 {
  margin: 0 0 8px;
  font-size: 16px;
  font-weight: 700;
  color: #2e2e38;
}
.schedule-tab--empty p {
  margin: 0 0 20px;
  color: #656579;
}
.schedule-tab__grid {
  flex: 1;
  overflow: hidden;
  background: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.schedule-tab__grid .ag-row-odd {
  background-color: inherit;
}
.schedule-tab__gantt {
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
}
.schedule-tab__gantt .b-gantt {
  height: 100%;
}
.schedule-tab .schedule-controls-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 0 12px;
  border-bottom: 1px solid #e1e1e6;
  margin-bottom: 12px;
  gap: 16px;
}
.schedule-tab .schedule-controls-left {
  display: flex;
  align-items: center;
  gap: 24px;
}
.schedule-tab .schedule-controls-right {
  display: flex;
  align-items: center;
  gap: 8px;
}
.schedule-tab .schedule-summary-block {
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.schedule-tab .schedule-summary-label {
  font-size: 12px;
  font-weight: 400;
  color: #4e4e5d;
}
.schedule-tab .schedule-summary-value {
  font-size: 14px;
  font-weight: 600;
  color: #2e2e38;
}
.schedule-tab .level-phase {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #35a4e8;
  font-weight: 600;
}
.schedule-tab .level-phase .level-icon {
  background-color: #35a4e8;
  color: #fff;
}
.schedule-tab .level-activity {
  display: flex;
  align-items: center;
  gap: 6px;
  color: #2e2e38;
}
.schedule-tab .level-activity .level-icon {
  background-color: #4e4e5d;
  color: #fff;
}
.schedule-tab .level-icon {
  width: 18px;
  height: 18px;
  border-radius: 4px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}
.schedule-tab .level-icon svg {
  width: 12px;
  height: 12px;
}
.schedule-tab .modified-badge {
  display: inline-block;
  padding: 2px 6px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 600;
  background-color: rgba(255, 165, 0, 0.15);
  color: #c45e00;
}

body.motif-theme-dark .schedule-tab--loading {
  color: #a0a0b0;
}
body.motif-theme-dark .schedule-tab--error {
  background: #1e1e2e;
  box-shadow: none;
}
body.motif-theme-dark .schedule-tab--error p {
  color: #ff8080;
}
body.motif-theme-dark .schedule-tab--empty {
  background: #1e1e2e;
  box-shadow: none;
}
body.motif-theme-dark .schedule-tab--empty h3 {
  color: #dcdcdc;
}
body.motif-theme-dark .schedule-tab--empty p {
  color: #a0a0b0;
}
body.motif-theme-dark .schedule-tab__grid {
  background: transparent;
  box-shadow: none;
}
body.motif-theme-dark .schedule-tab .schedule-controls-bar, body.motif-theme-dark .schedule-tab__schedules {
  border-bottom-color: #3c3c4e;
}
body.motif-theme-dark .schedule-tab .schedule-summary-label {
  color: #a0a0b0;
}
body.motif-theme-dark .schedule-tab .schedule-summary-value {
  color: #dcdcdc;
}
body.motif-theme-dark .schedule-tab .level-activity {
  color: #dcdcdc;
}
body.motif-theme-dark .schedule-tab .level-activity .level-icon {
  background-color: #6e6e82;
}
body.motif-theme-dark .schedule-tab .modified-badge {
  background-color: rgba(255, 165, 0, 0.2);
  color: #ffaa44;
}.approval-comments-section {
  display: flex;
  flex-direction: column;
  height: 100%;
  padding: 0 16px 16px;
}
.approval-comments-section .approval-comments-loading {
  display: flex;
  justify-content: center;
  padding: 24px 0;
}
.approval-comments-section .approval-comments-timeline {
  flex: 1;
  overflow-y: auto;
  padding: 8px 0;
}
.approval-comments-section .approval-comments-empty {
  text-align: center;
  font-size: 13px;
  color: #747480;
  padding: 24px 0;
}
.approval-comments-section .comment-step {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 8px 0;
  position: relative;
}
.approval-comments-section .comment-step .comment-connector {
  position: absolute;
  left: 8px;
  top: 28px;
  bottom: -8px;
  width: 2px;
  background-color: #e1e1e6;
}
.approval-comments-section .comment-indicator {
  width: 18px;
  height: 18px;
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.approval-comments-section .comment-content {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  flex: 1;
}
.approval-comments-section .comment-meta {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  gap: 8px;
}
.approval-comments-section .comment-author {
  font-size: 12px;
  font-weight: 600;
  color: #2e2e38;
}
.approval-comments-section .comment-date {
  font-size: 11px;
  color: #747480;
  white-space: nowrap;
}
.approval-comments-section .comment-text {
  font-size: 13px;
  line-height: 1.5;
  color: #2e2e38;
  white-space: pre-wrap;
  word-break: break-word;
}
.approval-comments-section .approval-comment-input {
  flex-shrink: 0;
  display: flex;
  gap: 8px;
  align-items: flex-end;
  padding-top: 12px;
  border-top: 1px solid #e1e1e6;
}
.approval-comments-section .approval-comment-input > *:first-child {
  flex: 1;
  min-width: 0;
}

body.motif-theme-dark .approval-comments-section .comment-connector {
  background-color: #444;
}
body.motif-theme-dark .approval-comments-section .comment-author {
  color: #e0e0e0;
}
body.motif-theme-dark .approval-comments-section .comment-text {
  color: #e0e0e0;
}
body.motif-theme-dark .approval-comments-section .comment-date {
  color: #888;
}
body.motif-theme-dark .approval-comments-section .approval-comments-empty {
  color: #888;
}
body.motif-theme-dark .approval-comments-section .approval-comment-input {
  border-top-color: #444;
}.afe-resize-handle {
  position: absolute;
  left: 0;
  top: 0;
  width: 8px;
  height: 100%;
  cursor: ew-resize;
  z-index: 10;
  background: transparent;
  transition: background 0.15s;
  display: flex;
  align-items: center;
  justify-content: center;
}
.afe-resize-handle::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 4px;
  height: 32px;
  background-image: radial-gradient(circle, var(--motif-text-color-secondary, #a8a8b4) 1.5px, transparent 1.5px), radial-gradient(circle, var(--motif-text-color-secondary, #a8a8b4) 1.5px, transparent 1.5px);
  background-size: 4px 8px;
  background-position: 0 0, 4px 4px;
  background-repeat: repeat-y;
  border-radius: 2px;
  opacity: 0.45;
  transition: opacity 0.15s;
}
.afe-resize-handle:hover {
  background: color-mix(in srgb, var(--motif-color-primary, #ffe600) 15%, transparent);
}
.afe-resize-handle:hover::after {
  opacity: 1;
}
.afe-resize-handle:active {
  background: color-mix(in srgb, var(--motif-color-primary, #ffe600) 25%, transparent);
}

.afe-create-sidebar {
  border-left: 1px solid var(--motif-border-color, #e1e1e6);
}
.afe-create-sidebar .p-sidebar-header {
  padding: 1rem 1.5rem;
  border-bottom: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
}
.afe-create-sidebar .p-sidebar-content {
  padding: 0;
  display: flex;
  flex-direction: column;
  height: calc(100% - 60px);
  background-color: var(--motif-background-color, #fafafa);
}
.afe-create-sidebar .p-sidebar-close {
  color: var(--motif-text-color-secondary, #747480);
}
.afe-create-sidebar .p-sidebar-close:hover {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  color: var(--motif-text-color-primary, #1a1a24);
}

.afe-panel-header h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
  color: var(--motif-text-color-primary, #1a1a24);
}

.afe-create-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.afe-create-body {
  flex: 1;
  overflow-y: auto;
  padding: 1.5rem;
  display: flex;
  flex-direction: column;
  gap: 1.25rem;
}

.afe-create-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.75rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid var(--motif-border-color, #e1e1e6);
  background-color: var(--motif-background-color-card, #fafafa);
  flex-shrink: 0;
}

.afe-form-error {
  margin-bottom: 8px;
}

.afe-section {
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 0.5rem;
  padding: 1rem;
  background-color: var(--motif-background-color-card, #ffffff);
}

.afe-section-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-bottom: 12px;
}

.afe-section-title {
  font-size: 0.8125rem;
  font-weight: 700;
  color: var(--motif-text-color-primary, #2e2e38);
  letter-spacing: 0.3px;
  display: flex;
  align-items: center;
  gap: 0.5rem;
}

.afe-header-summary {
  display: flex;
  flex-direction: column;
  gap: 12px;
  margin-top: 12px;
}

.afe-summary-row {
  display: flex;
  gap: 16px;
}

.afe-field-half {
  flex: 1;
}

.afe-version-select {
  min-width: 200px;
}

.afe-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  padding: 16px 0;
}

.afe-summary-cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  gap: 12px;
  margin-top: 12px;
}

.afe-summary-card {
  padding: 0.75rem;
  border-radius: 0.375rem;
  background-color: var(--motif-background-color, #f9f9fa);
  border: 1px solid var(--motif-border-color, #e1e1e6);
}
.afe-summary-card.scope {
  border-top: 3px solid #f95d54;
}
.afe-summary-card.schedule {
  border-top: 3px solid #35a4e8;
}
.afe-summary-card.cost {
  border-top: 3px solid #2da771;
}

.afe-summary-card-title {
  font-size: 11px;
  font-weight: 700;
  color: var(--motif-text-color-secondary, #747480);
  text-transform: uppercase;
  letter-spacing: 0.5px;
  margin-bottom: 8px;
}

.afe-summary-item {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  padding: 4px 0;
  font-size: 12px;
}
.afe-summary-item:not(:last-child) {
  border-bottom: 1px solid var(--motif-border-color, #e8e8ec);
}

.afe-summary-item-label {
  color: var(--motif-text-color-secondary, #747480);
  font-weight: 400;
}

.afe-summary-item-value {
  color: var(--motif-text-color-primary, #2e2e38);
  font-weight: 700;
}
.afe-summary-item-value.highlight {
  font-size: 14px;
}

.afe-expedite-toggle {
  display: flex;
  align-items: center;
  gap: 8px;
}

.afe-expedite-label {
  font-size: 11px;
  color: var(--motif-text-color-secondary, #a1a1a6);
  font-weight: 400;
}

.afe-toggle {
  position: relative;
  display: inline-block;
  width: 36px;
  height: 20px;
}
.afe-toggle input {
  opacity: 0;
  width: 0;
  height: 0;
}

.afe-toggle-slider {
  position: absolute;
  cursor: pointer;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: var(--motif-border-color, #c4c4cd);
  border-radius: 20px;
  transition: 0.2s;
}
.afe-toggle-slider::before {
  content: "";
  position: absolute;
  height: 16px;
  width: 16px;
  left: 2px;
  bottom: 2px;
  background-color: var(--motif-background-color-card, #fff);
  border-radius: 50%;
  transition: 0.2s;
}
input:checked + .afe-toggle-slider {
  background-color: var(--motif-color-primary, #ffe600);
}
input:checked + .afe-toggle-slider::before {
  transform: translateX(16px);
}

.afe-workflow-steps {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-top: 12px;
}

.afe-workflow-step {
  display: grid;
  grid-template-columns: 24px 190px 1fr;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 0.75rem;
  border: 1px solid var(--motif-border-color, #e1e1e6);
  border-radius: 0.375rem;
  background-color: var(--motif-background-color, #fafafa);
}

.afe-workflow-step-num {
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background-color: var(--motif-background-color-hover, #e6e6e9);
  color: var(--motif-text-color-primary, #2e2e38);
  font-size: 11px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.afe-workflow-step-content {
  min-width: 0;
  overflow: hidden;
}

.afe-workflow-step-title {
  font-weight: 700;
  color: var(--motif-text-color-primary, #2e2e38);
}

.afe-workflow-step-role {
  font-size: 0.6875rem;
  color: var(--motif-text-color-muted, #747480);
  margin-top: 0.125rem;
}

.afe-workflow-step-assignee {
  display: flex;
  justify-content: stretch;
  gap: 6px;
  margin-top: 2px;
}

.afe-assignee-avatar {
  width: 20px;
  height: 20px;
  border-radius: 50%;
  color: #fff;
  font-size: 8px;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
}

.afe-step-name {
  font-size: 0.75rem;
  color: var(--motif-text-color-secondary, #4e4e5d);
}

.afe-step-email {
  font-size: 0.6875rem;
  color: var(--motif-text-color-muted, #747480);
}

.afe-step-unassigned {
  font-size: 0.75rem;
  color: var(--motif-text-color-muted, #a1a1a6);
  font-style: italic;
}

.afe-step-select {
  flex: 1;
  min-width: 0;
}

.afe-step-approval-limit {
  font-size: 0.625rem;
  font-weight: 600;
  color: var(--motif-text-color-secondary, #4e4e5d);
  white-space: nowrap;
}

.afe-workflow-step-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

.afe-override-chip {
  font-size: 10px;
  font-weight: 700;
  color: #f59e0b;
  background: rgba(245, 158, 11, 0.1);
  padding: 2px 8px;
  border-radius: 4px;
  white-space: nowrap;
}

.afe-workflow-step-badge {
  display: inline-flex;
  align-items: center;
  vertical-align: middle;
  margin-left: 6px;
  padding: 2px 8px;
  border-radius: 4px;
  font-size: 10px;
  font-weight: 700;
  background: rgba(255, 165, 0, 0.15);
  color: #8a6d00;
  white-space: nowrap;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.afe-workflow-step-required {
  color: var(--motif-color-error, #f95d54);
  font-weight: 700;
}

.afe-status-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 4px 10px;
  border-radius: 4px;
  font-size: 11px;
  font-weight: 700;
}
.afe-status-badge.draft {
  background-color: rgba(255, 129, 10, 0.15);
  color: #ff810a;
}
.afe-status-badge.pending, .afe-status-badge.submitted, .afe-status-badge.in-review {
  background-color: rgba(53, 164, 232, 0.15);
  color: #35a4e8;
}
.afe-status-badge.approved {
  background-color: rgba(45, 167, 113, 0.15);
  color: #2da771;
}
.afe-status-badge.rejected {
  background-color: rgba(249, 93, 84, 0.15);
  color: #f95d54;
}
.afe-status-badge.cancelled {
  background-color: rgba(116, 116, 128, 0.15);
  color: #747480;
}

body.motif-theme-dark .afe-create-sidebar {
  --motif-text-color-primary: #f0f0f5;
  --motif-text-color-secondary: #a8a8b4;
  --motif-text-color-muted: #8e8e9a;
  --motif-background-color: #1a1a24;
  --motif-background-color-card: #23232f;
  --motif-background-color-hover: #33333e;
  --motif-border-color: #33333e;
}.project-detail-view {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.project-detail-view .project-detail-content {
  flex: 1;
  min-height: 0;
  overflow: auto;
  background-color: #f5f5f5;
}
.project-detail-view .tab-content-wrapper {
  height: 100%;
  display: flex;
  flex-direction: column;
}
.project-detail-view .placeholder-content {
  background-color: #fff;
  border-radius: 8px;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 24px;
  max-width: 600px;
}
.project-detail-view .placeholder-content h3 {
  margin: 0 0 12px 0;
  font-size: 16px;
  font-weight: 700;
  color: #2e2e38;
}
.project-detail-view .placeholder-content p {
  margin: 0;
  font-size: 13px;
  color: #747480;
}
.project-detail-view .loading-state,
.project-detail-view .error-state {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
  gap: 16px;
  text-align: center;
  color: #747480;
  font-size: 14px;
}
.project-detail-view .error-state {
  color: #dc3545;
}

body.motif-theme-dark .project-detail-view .project-detail-content {
  background-color: #1a1a24;
}
body.motif-theme-dark .project-detail-view .placeholder-content {
  background-color: #23232d;
}
body.motif-theme-dark .project-detail-view .placeholder-content h3 {
  color: #fff;
}
body.motif-theme-dark .project-detail-view .placeholder-content p {
  color: #a1a1a6;
}
body.motif-theme-dark .project-detail-view .loading-state {
  color: #a1a1a6;
}.kit-list-panel {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 1rem !important;
}
.kit-list-panel.motif-card-orientation-vertical {
  width: 100%;
}
.kit-list-panel :is(motif-card-body, .motif-card-body) {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
}
.kit-list-panel .kit-list-loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  flex: 1;
}
.kit-list-panel .kit-list-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.kit-list-panel .kit-list-header .kits-title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.kit-list-panel .kit-list-header .kits-title h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 600;
}
.kit-list-panel .kit-list-header .kits-title .kits-count-badge {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 500;
  color: var(--motif-text-color-secondary, #747480);
}
.kit-list-panel .kit-list-content {
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: 100%;
  overflow: hidden;
}
.kit-list-panel .kit-list-content .kit-search {
  flex-shrink: 0;
}
.kit-list-panel .kit-list-content .kit-list {
  flex: 1;
  overflow-y: auto;
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.kit-list-panel .kit-list-content .kit-list .kit-list-empty {
  padding: 24px 16px;
  text-align: center;
  color: var(--body--color, #2e2e38);
  opacity: 0.6;
  font-size: 14px;
}
.kit-list-panel .kit-list-content .kit-list .kit-item {
  display: flex;
  flex-direction: column;
  padding: var(--list-card-padding);
  cursor: pointer;
  box-sizing: border-box;
  border: 1px solid var(--library-card-border);
  border-radius: var(--library-card-radius);
  background: var(--library-card-bg);
  transition: background-color 0.15s, border-color 0.15s;
}
.kit-list-panel .kit-list-content .kit-list .kit-item:hover {
  background: var(--library-card-bg-hover);
  border-color: var(--library-card-border-hover);
}
.kit-list-panel .kit-list-content .kit-list .kit-item:focus-visible {
  outline: 2px solid var(--library-focus);
  outline-offset: 2px;
}
.kit-list-panel .kit-list-content .kit-list .kit-item.active, .kit-list-panel .kit-list-content .kit-list .kit-item.active:hover {
  border-color: var(--library-card-border-selected);
  background: var(--library-card-bg-selected);
}
.kit-list-panel .kit-list-content .kit-list .kit-item .kit-item-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  min-height: var(--list-card-header-min-height);
  margin-bottom: var(--list-card-header-mb);
  gap: 0.5rem;
  font-size: var(--list-card-name-size);
  font-weight: var(--list-card-name-weight);
  color: var(--list-card-name-color);
}
.kit-list-panel .kit-list-content .kit-list .kit-item .kit-type-badge {
  flex-shrink: 0;
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.kit-list-panel .kit-list-content .kit-list .kit-item .kit-item-meta {
  font-size: var(--list-card-meta-size);
  line-height: var(--list-card-meta-line);
  color: var(--list-card-meta-value-color);
  display: flex;
  flex-direction: column;
  gap: 0.125rem;
}
.kit-list-panel .kit-list-content .kit-list .kit-item .kit-item-meta .meta-row {
  display: flex;
  align-items: center;
  gap: 0.25rem;
}.kit-assignments-empty {
  padding: 48px 24px;
  text-align: center;
  color: var(--body--color, #2e2e38);
  opacity: 0.6;
}
.kit-assignments-empty p {
  margin: 0;
}

.kit-assignments-table-container {
  overflow-x: auto;
}
.kit-assignments-table-container .kit-assignments-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
}
.kit-assignments-table-container .kit-assignments-table th, .kit-assignments-table-container .kit-assignments-table td {
  padding: 8px;
  text-align: left;
  border-bottom: 1px solid var(--card--border-color);
}
.kit-assignments-table-container .kit-assignments-table th {
  padding: 0px 8px 3px 8px;
  font-weight: 600;
  color: var(--body--color, #2e2e38);
  opacity: 0.7;
  font-size: 12px;
  background: var(--card--bg-color);
  position: sticky;
  top: 0;
  z-index: 1;
}
.kit-assignments-table-container .kit-assignments-table .col-id {
  width: 120px;
  min-width: 100px;
}
.kit-assignments-table-container .kit-assignments-table .col-name {
  min-width: 200px;
}
.kit-assignments-table-container .kit-assignments-table .col-uom {
  width: 80px;
}
.kit-assignments-table-container .kit-assignments-table .col-qty {
  width: 100px;
}
.kit-assignments-table-container .kit-assignments-table .col-qty .qty-input {
  width: 80px;
}
.kit-assignments-table-container .kit-assignments-table .col-qty .qty-fixed {
  color: var(--body--color, #2e2e38);
  opacity: 0.6;
  font-style: italic;
}
.kit-assignments-table-container .kit-assignments-table .col-scp {
  width: 160px;
  text-align: center;
}
.kit-assignments-table-container .kit-assignments-table .col-rate,
.kit-assignments-table-container .kit-assignments-table .col-total {
  width: 120px;
  text-align: right;
}
.kit-assignments-table-container .kit-assignments-table .col-actions {
  width: 50px;
  text-align: center;
}
.kit-assignments-table-container .kit-assignments-table .col-actions .remove-btn {
  color: var(--body--color, #2e2e38);
  opacity: 0.5;
}
.kit-assignments-table-container .kit-assignments-table .col-actions .remove-btn:hover {
  opacity: 1;
  color: var(--motif-color-error, #b9251c);
}
.kit-assignments-table-container .kit-assignments-table .assignment-row:hover {
  background: rgba(0, 0, 0, 0.05);
}
.kit-assignments-table-container .kit-assignments-table .assignment-row.is-kit-row .kit-item-name {
  font-weight: 700;
  color: var(--body--color, #2e2e38);
}.kit-detail-panel {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  position: relative;
}
.kit-detail-panel .detail-loading-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  color: var(--motif-neutral-500, #7f7f91);
}
.kit-detail-panel .detail-loading-state span {
  font-size: 14px;
}
.kit-detail-panel .detail-error-state {
  padding: 24px;
}
.kit-detail-panel .detail-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: var(--motif-neutral-500, #7f7f91);
}
.kit-detail-panel .detail-empty-state .empty-state-icon {
  width: 64px;
  height: 64px;
  opacity: 0.3;
  margin-bottom: 16px;
  color: var(--motif-neutral-400, #9191a1);
}
.kit-detail-panel .detail-empty-state .empty-state-title {
  font-size: 16px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color, #2e2e38);
  margin: 0 0 8px 0;
}
.kit-detail-panel .detail-empty-state .empty-state-description {
  font-size: 13px;
  text-align: center;
  max-width: 280px;
  line-height: 1.5;
  margin: 0;
  color: var(--motif-neutral-500, #7f7f91);
}
.kit-detail-panel .kit-detail-header {
  padding: 16px 24px;
  border-bottom: 1px solid var(--card--border-color);
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  z-index: 200;
}
.kit-detail-panel .kit-detail-header .header-title-section {
  display: flex;
  align-items: center;
  gap: 10px;
}
.kit-detail-panel .kit-detail-header .header-title-section .kit-name {
  font-size: 18px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color, #2e2e38);
  margin: 0;
}
.kit-detail-panel .kit-detail-header .header-title-section .kit-type-badge {
  flex-shrink: 0;
  font-size: 0.625rem;
  font-weight: 600;
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  text-transform: uppercase;
  letter-spacing: 0.3px;
}
.kit-detail-panel .kit-detail-header .header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: 24px;
  padding-left: 24px;
  border-left: 1px solid var(--motif-neutral-200, #e1e1e6);
}
.kit-detail-panel .kit-detail-header .header-actions .unsaved-indicator {
  font-size: 12px;
  color: var(--motif-yellow-700, #996f00);
  font-weight: 500;
  padding: 4px 8px;
  background-color: var(--motif-yellow-100, #fff3cc);
  border-radius: 4px;
}
.kit-detail-panel .kit-detail-header .header-actions .motif-button {
  display: flex;
  align-items: center;
  gap: 4px;
}
.kit-detail-panel .kit-content-splitter {
  flex: 1;
  overflow: hidden;
  min-height: 0;
}
.kit-detail-panel .kit-content-splitter .p-splitter {
  border: none;
  background: transparent;
  height: 100%;
  width: 100%;
}
.kit-detail-panel .kit-content-splitter .p-splitter-panel {
  overflow: hidden;
}
.kit-detail-panel .kit-content-splitter .budget-items-splitter-panel.p-splitter-panel {
  overflow: visible;
}
.kit-detail-panel .kit-content-splitter .p-splitter-gutter {
  background-color: var(--motif-neutral-200, #e1e1e6);
  z-index: 1;
}
.kit-detail-panel .kit-content-splitter .p-splitter-gutter:hover {
  background-color: var(--motif-neutral-300, #afaeba);
}
.kit-detail-panel .kit-content-splitter .p-splitter-gutter-handle {
  background-color: var(--motif-neutral-400, #9191a1);
}
.kit-detail-panel .assignments-splitter-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.kit-detail-panel .budget-items-splitter-panel {
  display: flex;
  flex-direction: column;
  height: 100%;
  transition: flex-basis 0.2s ease;
  position: relative;
  z-index: 10;
}
.kit-detail-panel .budget-items-splitter-panel.collapsed {
  min-width: 48px !important;
  max-width: 48px !important;
}
.kit-detail-panel .budget-items-container {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  overflow: visible;
  position: relative;
}
.kit-detail-panel .budget-items-container.collapsed {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12px;
}
.kit-detail-panel .budget-items-container .collapse-toggle-btn {
  position: absolute;
  top: 12px;
  left: -12px;
  width: 24px;
  height: 24px;
  background: var(--card--bg-color);
  border: 1px solid var(--card--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  transition: transform 0.2s ease, background-color 0.15s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 0;
}
.kit-detail-panel .budget-items-container .collapse-toggle-btn:hover {
  opacity: 0.8;
}
.kit-detail-panel .budget-items-container .collapse-toggle-btn .motif-icon {
  width: 14px;
  height: 14px;
  color: var(--body--color, #2e2e38);
  transition: transform 0.2s ease;
  transform: rotate(180deg);
}
.kit-detail-panel .budget-items-container .collapse-toggle-btn.collapsed {
  position: static;
  left: auto;
  margin-top: 0;
}
.kit-detail-panel .budget-items-container .collapse-toggle-btn.collapsed .motif-icon {
  transform: rotate(0deg);
}
.kit-detail-panel .budget-items-container .budget-items-content {
  padding: 8px 8px;
}
.kit-detail-panel .kit-assignments-panel {
  flex: 1;
  overflow: hidden;
  padding: 0;
  height: 100%;
  width: 100%;
  position: relative;
  z-index: 1;
}
.kit-detail-panel .kit-assignments-panel.drag-over {
  outline: 2px dashed var(--motif-blue-600, #3182ce);
  outline-offset: -2px;
  background: rgba(49, 130, 206, 0.05);
}
.kit-detail-panel .kit-assignments-panel .assignments-card {
  height: 100%;
  width: 100%;
  display: flex;
  flex-direction: column;
  padding: 3px 10px;
}
.kit-detail-panel .kit-assignments-panel .assignments-card :is(motif-card-header, .motif-card-header) {
  padding: 8px;
  border-bottom: 2px solid var(--card--border-color);
  flex-shrink: 0;
  width: 100%;
}
.kit-detail-panel .kit-assignments-panel .assignments-card :is(motif-card-body, .motif-card-body) {
  padding: 0;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  overflow: auto;
}
.kit-detail-panel .kit-assignments-panel .assignments-card .assignments-loading,
.kit-detail-panel .kit-assignments-panel .assignments-card .assignments-error {
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 16px;
  padding: 24px;
}
.kit-detail-panel .kit-assignments-panel .assignments-card .assignments-loading {
  color: var(--motif-neutral-500, #7f7f91);
}
.kit-detail-panel .kit-assignments-panel .assignments-card .assignments-loading span {
  font-size: 14px;
}
.kit-detail-panel .kit-assignments-panel .assignments-card .assignments-error {
  align-items: stretch;
}
.kit-detail-panel .section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}
.kit-detail-panel .section-header .section-header-left {
  display: flex;
  align-items: center;
  gap: 8px;
}
.kit-detail-panel .section-header .section-title {
  font-size: 14px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color, #2e2e38);
}
.kit-detail-panel .section-header .item-count-badge {
  background-color: var(--motif-background-color-hover, #f0f0f5);
  color: var(--motif-text-color-secondary, #747480);
  padding: 0.125rem 0.5rem;
  border-radius: 10px;
  font-size: 0.75rem;
  font-weight: 500;
}.kits-page {
  display: flex;
  flex-direction: column;
  height: 100%;
  overflow: hidden;
}
.kits-page .kit-detail-splitter-panel {
  background-color: var(--card--bg-color) !important;
}
.kits-page .page-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 36px;
}
.kits-page .page-header .page-title {
  margin: 0;
  display: flex;
  align-items: center;
  height: 100% !important;
}
.kits-page .page-content {
  flex: 1;
  display: flex;
  flex-direction: row;
  overflow: hidden;
}
.kits-page .kit-list-splitter-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.kits-page .kit-detail-splitter-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
}
.kits-page .kit-list-splitter-panel.p-splitter-panel {
  overflow: visible;
}
.kits-page .kit-list-container {
  height: 100%;
  width: 100%;
  overflow: visible;
  position: relative;
}
.kits-page .kit-list-container.collapsed {
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding-top: 12px;
}
.kits-page .kit-list-container .kit-list-panel {
  height: 100%;
  border-right: none;
}
.kits-page .collapse-toggle-btn {
  position: absolute;
  top: 12px;
  right: -12px;
  width: 24px;
  height: 24px;
  background: var(--card--bg-color);
  border: 1px solid var(--card--border-color);
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 100;
  transition: transform 0.2s ease, background-color 0.15s;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  padding: 0;
}
.kits-page .collapse-toggle-btn:hover {
  opacity: 0.8;
}
.kits-page .collapse-toggle-btn .motif-icon {
  width: 14px;
  height: 14px;
  color: var(--body--color, #2e2e38);
  transition: transform 0.2s ease;
}
.kits-page .collapse-toggle-btn.collapsed {
  position: static;
  right: auto;
  margin-top: 0;
}
.kits-page .collapse-toggle-btn.collapsed .motif-icon {
  transform: rotate(180deg);
}
.kits-page .kit-list-splitter-panel {
  transition: flex-basis 0.2s ease;
}
.kits-page .kit-list-splitter-panel.collapsed {
  min-width: 48px !important;
  max-width: 48px !important;
}
.kits-page .kit-detail-panel {
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 0.2857142857rem;
  border: var(--card--border-width) var(--card--border-style) var(--card--border-color);
}
.kits-page .detail-empty-state {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px;
  color: var(--motif-neutral-500, #7f7f91);
}
.kits-page .detail-empty-state .empty-state-icon {
  width: 64px;
  height: 64px;
  opacity: 0.3;
  margin-bottom: 16px;
  color: var(--motif-neutral-400, #9191a1);
}
.kits-page .detail-empty-state .empty-state-title {
  font-size: 16px;
  font-weight: var(--weight-bold, 700);
  color: var(--body--color, #2e2e38);
  margin: 0 0 8px 0;
}
.kits-page .detail-empty-state .empty-state-description {
  font-size: 13px;
  text-align: center;
  max-width: 280px;
  line-height: 1.5;
  margin: 0;
  color: var(--motif-neutral-500, #7f7f91);
}.budget-item-archive-impact-content {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.budget-item-archive-impact-content__description {
  font-size: 14px;
  line-height: 1.5;
  margin: 0;
}
.budget-item-archive-impact-content__loading {
  align-items: center;
  display: flex;
  gap: 8px;
  justify-content: center;
  min-height: 36px;
}
.budget-item-archive-impact-content__banner {
  align-items: flex-start;
  border-left: 3px solid;
  border-radius: 4px;
  color: var(--banner-text-color);
  display: flex;
  gap: 10px;
  padding: 10px 12px;
}
.budget-item-archive-impact-content__banner--warning {
  --banner-background-color: var(--amber-light, #fff5dc);
  --banner-border-color: var(--amber-primary, #f5a623);
  --banner-text-color: var(--amber-dark, #7b5800);
}
.budget-item-archive-impact-content__banner--info {
  --banner-background-color: var(--sky-light, #deefff);
  --banner-border-color: var(--sky-primary, #1f8fe5);
  --banner-text-color: var(--sky-dark, #0d4f8b);
}
.budget-item-archive-impact-content__banner {
  background-color: var(--banner-background-color);
  border-left-color: var(--banner-border-color);
}
.budget-item-archive-impact-content__banner-icon {
  flex-shrink: 0;
  margin-top: 1px;
}
.budget-item-archive-impact-content__banner-icon svg,
.budget-item-archive-impact-content__banner-icon path {
  stroke: currentColor !important;
}
.budget-item-archive-impact-content__banner-text {
  font-size: 13px;
  line-height: 1.4;
}
.budget-item-archive-impact-content__table {
  border-top: 1px solid var(--grey-02, #e0e0e0);
  padding-top: 8px;
}
.budget-item-archive-impact-content__table-header, .budget-item-archive-impact-content__table-row {
  column-gap: 12px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
}
.budget-item-archive-impact-content__table-header {
  border-bottom: 1px solid var(--grey-02, #e0e0e0);
  padding-bottom: 6px;
}
.budget-item-archive-impact-content__table-heading {
  color: var(--grey-06, #616161);
  font-size: 12px;
  font-weight: 600;
}
.budget-item-archive-impact-content__table-row {
  border-bottom: 1px solid var(--grey-02, #e0e0e0);
  padding: 10px 0;
}
.budget-item-archive-impact-content__item-name {
  font-size: 13px;
  line-height: 1.5;
  padding-right: 8px;
}
.budget-item-archive-impact-content__template-list {
  display: flex;
  flex-wrap: wrap;
  gap: 4px;
}
.budget-item-archive-impact-content__template-chip .motif-chip-button {
  background-color: var(--orchid-light, #f3dcfb) !important;
  border-color: transparent !important;
  border-radius: 999px !important;
  box-shadow: none !important;
  color: var(--orchid-primary, #b03cd6) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
  line-height: 16px !important;
  padding: 2px 8px !important;
}
.budget-item-archive-impact-content__empty {
  color: var(--grey-06, #616161);
  font-size: 13px;
}/* Field catalog palette — shared chrome for all UI Schema designers.
 * Selectors are top-level so they work even when the palette is rendered
 * inside a Motif modal portaled to the app root.
 *
 * Re-skinned (AB#621178) to the EY-branded mock: category-grouped, draggable
 * field cards with a type sub-label, an "ON FORM" tag on used fields, a search
 * affordance, and a managed-by-EY footer note.
 */

.sm-uischema-palette {
  /* EY brand tokens (scoped to the palette so nothing leaks globally). */
  --sm-ey-yellow: #ffe600;
  --sm-ey-black: #2e2e38;
  --sm-ey-gray-700: #444450;
  --sm-ey-gray-500: #747480;
  --sm-ey-gray-300: #c4c4cd;
  --sm-ey-gray-200: #e1e1e6;
  --sm-ey-gray-100: #f0f0f4;
  --sm-ey-gray-50: #f8f8fa;
  --sm-ey-ok: #168736;

  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
  /* Fill whatever width the outer container (e.g. resizable paletteWidth) gives us. */
  width: 100%;
  min-width: 0;
  background: var(--sm-ey-gray-50);
  gap: 0;
  overflow: hidden;
  color: var(--sm-ey-black);
}

.sm-uischema-palette__header {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 8px;
  padding: 14px 16px 4px;
}

.sm-uischema-palette__title {
  font-size: 15px;
  font-weight: 700;
}

.sm-uischema-palette__count {
  font-size: 11px;
  color: var(--sm-ey-gray-500);
}

.sm-uischema-palette__search {
  margin: 8px 16px 6px;
}

.sm-uischema-palette__filters {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 2px 16px 10px;
  border-bottom: 1px solid var(--sm-ey-gray-200);
}

.sm-uischema-palette__filter {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
  cursor: pointer;
  user-select: none;
  color: var(--sm-ey-gray-700);
}

.sm-uischema-palette__list {
  list-style: none;
  margin: 0;
  padding: 0 10px 16px;
  overflow-y: auto;
  flex: 1 1 0;
  min-height: 0;
  display: flex;
  flex-direction: column;
  gap: 3px;
}

.sm-uischema-palette__category {
  font-size: 11px;
  letter-spacing: 0.02em;
  color: var(--sm-ey-gray-500);
  font-weight: 700;
  padding: 12px 6px 3px;
}

.sm-uischema-palette__item {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 10px;
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 6px;
  cursor: grab;
  background: #fff;
}

.sm-uischema-palette__item:hover {
  border-color: var(--sm-ey-black);
}

.sm-uischema-palette__item:active {
  cursor: grabbing;
}

.sm-uischema-palette__item--used {
  opacity: 0.5;
  cursor: default;
}

.sm-uischema-palette__item--system {
  border-style: dashed;
}

.sm-uischema-palette__item-main {
  display: flex;
  flex-direction: column;
  gap: 1px;
  min-width: 0;
}

/* Forms builder: title + mapping key on one baseline-aligned line. */
.sm-uischema-palette__item-main--inline {
  flex-direction: row;
  align-items: baseline;
  gap: 8px;
  flex: 1 1 auto;
}

.sm-uischema-palette__item-main--inline .sm-uischema-palette__item-title {
  flex: 0 1 auto;
  min-width: 0;
}

.sm-uischema-palette__item-main--inline .sm-uischema-palette__item-mapping {
  flex: 1 1 auto;
  min-width: 0;
}

/* Type glyph tile (forms builder). Color-coded by field type. */
.sm-uischema-palette__item-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 6px;
  background: var(--sm-ey-gray-100);
  color: var(--sm-ey-gray-700);
}

.sm-uischema-palette__item-icon--text {
  background: #eaf1fb;
  color: #2f6fd0;
}

.sm-uischema-palette__item-icon--number {
  background: #e7f4ec;
  color: #1f8a4c;
}

.sm-uischema-palette__item-icon--date {
  background: #efeafb;
  color: #6b4fd0;
}

.sm-uischema-palette__item-icon--select {
  background: #fdf3e2;
  color: #c07a12;
}

.sm-uischema-palette__item-icon--boolean {
  background: #e7f4ec;
  color: #1f8a4c;
}

.sm-uischema-palette__item-title {
  font-size: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sm-uischema-palette__item-type {
  font-size: 11px;
  color: var(--sm-ey-gray-500);
}

/* Forms builder (AB#659992): dotted schema mapping key shown on each card. */
.sm-uischema-palette__item-mapping {
  font-size: 11px;
  font-family: var(--motif-font-family-mono, 'Courier New', monospace);
  color: var(--sm-ey-gray-600, #4a4a4a);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Forms builder (AB#659992): drag-handle grip signalling drag-and-drop. */
.sm-uischema-palette__item-grip {
  flex: 0 0 auto;
  color: var(--sm-ey-gray-400, #999);
  font-size: 12px;
  line-height: 1;
  letter-spacing: -2px;
  cursor: grab;
  user-select: none;
}

.sm-uischema-palette__item--draggable:active .sm-uischema-palette__item-grip {
  cursor: grabbing;
}

.sm-uischema-palette__item-meta {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: auto;
  flex: 0 0 auto;
}

.sm-uischema-palette__item-tag {
  font-size: 10px;
  letter-spacing: 0.2px;
  padding: 1px 6px;
  border-radius: 999px;
  background: var(--sm-ey-gray-100);
  color: var(--sm-ey-gray-700);
  font-weight: 700;
}

.sm-uischema-palette__item-tag--required {
  background: #fff4d6;
  color: #5a4400;
}

.sm-uischema-palette__item-tag--used {
  background: transparent;
  color: var(--sm-ey-ok);
  padding: 0;
}

.sm-uischema-palette__item-add {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  border: none;
  background: var(--sm-ey-gray-100);
  color: var(--sm-ey-black);
  border-radius: 5px;
  font-size: 16px;
  line-height: 1;
  cursor: pointer;
}

.sm-uischema-palette__item-add:hover {
  background: var(--sm-ey-yellow);
}

.sm-uischema-palette__empty {
  text-align: center;
  font-size: 12px;
  color: var(--sm-ey-gray-500);
  padding: 16px 8px;
}

.sm-uischema-palette__footer {
  padding: 12px 16px;
  border-top: 1px solid var(--sm-ey-gray-200);
  font-size: 12px;
  color: var(--sm-ey-gray-500);
  background: var(--sm-ey-gray-50);
  flex: 0 0 auto;
}
/* Shared field-type icon tile — used by the designer palette cards and the
 * form-layout canvas cells so type is conveyed by a color-coded glyph. */

.sm-field-type-icon {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 6px;
  background: #f0f0f4;
  color: #444450;
}

.sm-field-type-icon--md {
  width: 26px;
  height: 26px;
}

.sm-field-type-icon--sm {
  width: 22px;
  height: 22px;
  border-radius: 5px;
}

.sm-field-type-icon--text {
  background: #eaf1fb;
  color: #2f6fd0;
}

.sm-field-type-icon--number {
  background: #e7f4ec;
  color: #1f8a4c;
}

.sm-field-type-icon--date {
  background: #efeafb;
  color: #6b4fd0;
}

.sm-field-type-icon--select {
  background: #fdf3e2;
  color: #c07a12;
}

.sm-field-type-icon--boolean {
  background: #e7f4ec;
  color: #1f8a4c;
}
/*
 * AgGrid Column Inspector — right pane of the AgGrid designer.
 * Top-level selectors only (lives inside a Motif portal modal).
 */

.sm-uischema-aggrid-inspector {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
  font-size: 13px;
}

.sm-uischema-aggrid-inspector__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-inspector__header strong {
  font-size: 13px;
}

.sm-uischema-aggrid-inspector__remove {
  /* MotifButton size="small" already styled; just ensure no overflow */
  flex-shrink: 0;
}

.sm-uischema-aggrid-inspector__grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}

.sm-uischema-aggrid-inspector__grid > .motif-form-field,
.sm-uischema-aggrid-inspector__grid > div {
  min-width: 0;
}

.sm-uischema-aggrid-inspector__toggle {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 4px 0;
  cursor: pointer;
}

.sm-uischema-aggrid-inspector__toggle span {
  font-size: 13px;
}

.sm-uischema-aggrid-inspector__formatter {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 8px;
  background: var(--motif-color-background-primary, #fff);
  border: 1px solid var(--motif-color-border-default, #dedee2);
  border-radius: 4px;
}

.sm-uischema-aggrid-inspector__formatter-toggle {
  align-self: flex-start;
}

.sm-uischema-aggrid-inspector__passthrough {
  padding: 8px;
  background: var(--motif-color-background-secondary, #f0f0f3);
  border: 1px dashed var(--motif-color-border-default, #c0c0c5);
  border-radius: 4px;
  font-size: 12px;
  color: var(--motif-color-foreground-muted, #6b6b6b);
}

body.motif-theme-dark .sm-uischema-aggrid-inspector__formatter {
  background: var(--motif-color-background-primary, #1f1f1f);
}

body.motif-theme-dark .sm-uischema-aggrid-inspector__passthrough {
  background: var(--motif-color-background-secondary, #2a2a2a);
}
/*
 * AgGrid Designer Panel styles.
 *
 * IMPORTANT: All selectors here MUST be top-level / global selectors. The
 * panel renders inside a Motif modal which is portaled to <body>, so any
 * styles scoped under a parent Schema Manager class would never apply.
 *
 * Layout: 3-column top (palette | columns | inspector) + bottom preview.
 * The whole panel fills the dialog body; columns scroll independently.
 */

.sm-uischema-aggrid-panel {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  background: var(--motif-color-background-primary, #fff);
}

.sm-uischema-aggrid-panel__top {
  display: grid;
  grid-template-columns: 280px 1fr 360px;
  grid-template-rows: minmax(0, 1fr);
  gap: 0;
  flex: 1 1 auto;
  min-height: 0;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-panel__palette {
  border-right: 1px solid var(--motif-color-border-default, #dedee2);
  background: var(--motif-color-background-secondary, #f8f8f9);
  overflow: hidden;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.sm-uischema-aggrid-panel__palette-switch {
  display: flex;
  gap: 4px;
  padding: 8px 10px;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-panel__palette > .sm-uischema-palette {
  flex: 1 1 0;
  height: auto;
}

.sm-uischema-aggrid-panel__arcgis-palette {
  display: flex;
  flex: 1 1 0;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
  padding: 12px 10px 0;
}

.sm-uischema-aggrid-panel__arcgis-source {
  display: block;
  color: var(--motif-color-foreground-muted, #6b6b6b);
  font-size: 12px;
  overflow-wrap: anywhere;
}

.sm-uischema-aggrid-panel__arcgis-field-list {
  flex: 1 1 0;
  min-height: 0;
  overflow-y: auto;
  list-style: none;
  margin: 0;
  padding: 0 0 12px;
}

.sm-uischema-aggrid-panel__arcgis-field {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 4px;
  padding: 6px 4px;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-panel__arcgis-field > span {
  min-width: 0;
  overflow-wrap: anywhere;
}

.sm-uischema-aggrid-panel__columns {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}

.sm-uischema-aggrid-panel__columns-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 12px;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
  background: var(--motif-color-background-secondary, #f8f8f9);
}

.sm-uischema-aggrid-panel__columns-actions {
  display: flex;
  align-items: center;
  gap: 6px;
}

.sm-uischema-aggrid-panel__columns-actions motif-input {
  width: 150px;
}

.sm-uischema-aggrid-panel__column-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 8px 12px;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sm-uischema-aggrid-panel__empty {
  padding: 24px;
  text-align: center;
  color: var(--motif-color-foreground-muted, #6b6b6b);
  border: 1px dashed var(--motif-color-border-default, #dedee2);
  border-radius: 4px;
}

/* Column rows */
.sm-uischema-aggrid-panel__column-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border: 1px solid var(--motif-color-border-default, #dedee2);
  border-radius: 4px;
  background: var(--motif-color-background-primary, #fff);
}

.sm-uischema-aggrid-panel__column-row--selected {
  border-color: var(--motif-color-foreground-action, #155cb4);
  box-shadow: 0 0 0 1px var(--motif-color-foreground-action, #155cb4) inset;
}

.sm-uischema-aggrid-panel__column-row--custom {
  background: var(--motif-color-background-secondary, #f4f4f4);
  font-style: italic;
  color: var(--motif-color-foreground-muted, #6b6b6b);
}

.sm-uischema-aggrid-panel__drag-handle {
  flex: 0 0 auto;
  border: 0;
  background: transparent;
  color: var(--motif-color-foreground-muted, #6b6b6b);
  cursor: grab;
  font: inherit;
  padding: 4px;
  touch-action: none;
}

.sm-uischema-aggrid-panel__drag-handle:active {
  cursor: grabbing;
}

.sm-uischema-aggrid-panel__drag-handle:focus-visible {
  outline: 2px solid var(--motif-color-foreground-action, #155cb4);
}

.sm-uischema-aggrid-panel__drop-slot {
  flex: 0 0 8px;
  border: 1px dashed transparent;
  border-radius: 4px;
}

.sm-uischema-aggrid-panel__drop-slot.is-over {
  background: var(--motif-color-background-action-subtle, #dceafa);
  border-color: var(--motif-color-foreground-action, #155cb4);
}

.sm-uischema-aggrid-panel__column-row-main {
  flex: 1 1 auto;
  display: flex;
  align-items: center;
  gap: 12px;
  background: transparent;
  border: none;
  padding: 4px 6px;
  text-align: left;
  cursor: pointer;
  font: inherit;
  color: inherit;
  min-width: 0;
}

.sm-uischema-aggrid-panel__column-label {
  font-weight: 600;
}

.sm-uischema-aggrid-panel__column-scope {
  color: var(--motif-color-foreground-muted, #6b6b6b);
  font-size: 12px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sm-uischema-aggrid-panel__row-actions {
  display: flex;
  gap: 2px;
  flex-shrink: 0;
}

.sm-uischema-aggrid-panel__row-action {
  width: 26px;
  height: 26px;
  border: 1px solid transparent;
  background: transparent;
  border-radius: 3px;
  cursor: pointer;
  font-size: 14px;
  color: var(--motif-color-foreground-primary, #2e2e38);
}

.sm-uischema-aggrid-panel__row-action:hover:not(:disabled) {
  background: var(--motif-color-background-secondary, #ececef);
  border-color: var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-panel__row-action:disabled {
  opacity: 0.3;
  cursor: not-allowed;
}

/* Groups */
.sm-uischema-aggrid-panel__group {
  border: 1px solid var(--motif-color-border-default, #dedee2);
  border-radius: 4px;
  background: var(--motif-color-background-secondary, #fafafb);
  display: flex;
  flex-direction: column;
}

.sm-uischema-aggrid-panel__group-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  padding: 6px 8px;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-panel__group-label-input {
  flex: 1 1 auto;
  border: 1px solid transparent;
  background: transparent;
  font-weight: 700;
  font-size: 13px;
  padding: 4px 6px;
  border-radius: 3px;
  color: inherit;
}

.sm-uischema-aggrid-panel__group-label-input:focus {
  border-color: var(--motif-color-border-default, #c0c0c5);
  background: var(--motif-color-background-primary, #fff);
  outline: none;
}

.sm-uischema-aggrid-panel__group-dropzone {
  padding: 6px 8px;
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-height: 60px;
}

.sm-uischema-aggrid-panel__group-empty {
  padding: 12px;
  text-align: center;
  color: var(--motif-color-foreground-muted, #6b6b6b);
  border: 1px dashed var(--motif-color-border-default, #dedee2);
  border-radius: 4px;
  font-size: 12px;
}

/* Inspector */
.sm-uischema-aggrid-panel__inspector {
  border-left: 1px solid var(--motif-color-border-default, #dedee2);
  background: var(--motif-color-background-secondary, #f8f8f9);
  overflow: auto;
  min-height: 0;
}

.sm-uischema-aggrid-panel__inspector-empty {
  padding: 24px;
  color: var(--motif-color-foreground-muted, #6b6b6b);
  text-align: center;
}

/* Preview */
.sm-uischema-aggrid-panel__preview {
  flex: 0 0 auto;
  max-height: 30vh;
  display: flex;
  flex-direction: column;
  border-top: 1px solid var(--motif-color-border-default, #dedee2);
  background: var(--motif-color-background-secondary, #f8f8f9);
}

.sm-uischema-aggrid-panel__preview-header {
  display: flex;
  align-items: baseline;
  gap: 12px;
  padding: 6px 12px;
  border-bottom: 1px solid var(--motif-color-border-default, #dedee2);
}

.sm-uischema-aggrid-panel__preview-note {
  color: var(--motif-color-foreground-muted, #6b6b6b);
  font-size: 12px;
}

.sm-uischema-aggrid-panel__preview-table-wrap {
  overflow: auto;
  padding: 8px 12px;
}

.sm-uischema-aggrid-panel__preview-table {
  border-collapse: collapse;
  font-size: 12px;
}

.sm-uischema-aggrid-panel__preview-table th,
.sm-uischema-aggrid-panel__preview-table td {
  border: 1px solid var(--motif-color-border-default, #dedee2);
  padding: 4px 8px;
  text-align: left;
  background: var(--motif-color-background-primary, #fff);
  white-space: nowrap;
}

.sm-uischema-aggrid-panel__preview-table th {
  background: var(--motif-color-background-secondary, #ececef);
  font-weight: 600;
}

.sm-uischema-aggrid-panel__preview-group {
  color: var(--motif-color-foreground-muted, #6b6b6b);
  font-weight: 500;
}

.sm-uischema-aggrid-panel__preview-hidden {
  color: var(--motif-color-foreground-muted, #6b6b6b);
  font-weight: 400;
}

.sm-uischema-aggrid-panel__preview-empty {
  padding: 16px;
  color: var(--motif-color-foreground-muted, #6b6b6b);
  text-align: center;
  font-size: 12px;
}

/* Crash fallback */
.sm-uischema-aggrid-panel__crash {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 8px;
  padding: 24px;
  color: var(--motif-color-foreground-error, #b3261e);
}

/* Dark mode tweaks */
body.motif-theme-dark .sm-uischema-aggrid-panel,
body.motif-theme-dark .sm-uischema-aggrid-panel__column-row {
  background: var(--motif-color-background-primary, #1f1f1f);
}

body.motif-theme-dark .sm-uischema-aggrid-panel__palette,
body.motif-theme-dark .sm-uischema-aggrid-panel__inspector,
body.motif-theme-dark .sm-uischema-aggrid-panel__columns-header,
body.motif-theme-dark .sm-uischema-aggrid-panel__preview {
  background: var(--motif-color-background-secondary, #2a2a2a);
}

body.motif-theme-dark .sm-uischema-aggrid-panel__group {
  background: var(--motif-color-background-secondary, #262626);
}

body.motif-theme-dark .sm-uischema-aggrid-panel__preview-table th {
  background: #2a2a2a;
}

body.motif-theme-dark .sm-uischema-aggrid-panel__preview-table th,
body.motif-theme-dark .sm-uischema-aggrid-panel__preview-table td {
  border-color: #3a3a3a;
}
/*
 * Form Designer Panel styles.
 *
 * IMPORTANT: All selectors here are top-level/global because the panel
 * renders inside a Motif modal that is portaled to <body>. Component-scoped
 * (parent-prefixed) selectors will not match.
 *
 * Re-skinned (AB#621178) to the EY-branded three-column mock: header toolbar
 * with title + hint, gray canvas holding white section-style cards, EY drag
 * zones, and a blue focus ring on the selected node. Behaviour is unchanged —
 * this file only restyles the existing designer chrome.
 *
 * Dark-mode rules use `body.motif-theme-dark` per Motif convention.
 */

.sm-form-designer {
  /* EY brand tokens (scoped to the designer so nothing leaks globally). */
  --sm-ey-yellow: #ffe600;
  --sm-ey-black: #2e2e38;
  --sm-ey-gray-900: #1a1a24;
  --sm-ey-gray-700: #444450;
  --sm-ey-gray-500: #747480;
  --sm-ey-gray-300: #c4c4cd;
  --sm-ey-gray-200: #e1e1e6;
  --sm-ey-gray-100: #f0f0f4;
  --sm-ey-gray-50: #f8f8fa;
  --sm-ey-info: #155cb4;
  --sm-ey-info-ring: #eef2fb;
  --sm-ey-danger: #b9251c;

  display: flex;
  flex-direction: column;
  height: 100%;
  width: 100%;
  min-height: 0; /* allow inner overflow */
  font-size: 13px;
  color: var(--sm-ey-black);
  background: #fff;
}

/* ─── Header toolbar ─── */
.sm-form-designer__toolbar {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 20px;
  border-bottom: 1px solid var(--sm-ey-gray-200);
  flex: 0 0 auto;
}

.sm-form-designer__toolbar-heading {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}

.sm-form-designer__title {
  font-weight: 700;
  font-size: 18px;
  line-height: 1.2;
}

.sm-form-designer__subtitle {
  font-size: 12.5px;
  color: var(--sm-ey-gray-500);
}

.sm-form-designer__toolbar-spacer {
  flex: 1 1 auto;
}

/* ─── Body: palette | splitter | canvas | splitter | inspector ─── */
.sm-form-designer__body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  gap: 0;
  padding: 0;
  min-height: 0;
  overflow: hidden;
  background: var(--sm-ey-gray-100);
}

.sm-form-designer__body--preview .sm-form-designer__inspector {
  /* When preview is shown, give the right pane more room. */
  flex-basis: 480px;
}

/* Full-bleed preview (external/full-screen host toggle): the live form is
   centred as a single card, the way an end user would see it. */
.sm-form-designer__body--fullpreview {
  flex: 1 1 auto;
  display: block;
  min-height: 0;
  overflow: auto;
  padding: 24px 16px;
  background: var(--sm-ey-gray-100);
}

.sm-form-designer__body--fullpreview .sm-form-designer__preview {
  max-width: 860px;
  height: auto;
  margin: 0 auto;
  padding: 24px 28px;
  background: var(--sm-ey-white, #fff);
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 8px;
}

body.motif-theme-dark .sm-form-designer__body--fullpreview .sm-form-designer__preview {
  background: var(--sm-ey-gray-200);
  border-color: var(--sm-ey-gray-300);
}

/* Faithful live preview (real JSONForms) shares the mock's centered-card frame. */
.sm-form-designer__body--fullpreview .sm-form-designer__livepreview {
  max-width: 860px;
  margin: 0 auto;
  padding: 24px 28px;
  background: var(--sm-ey-white, #fff);
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 8px;
}

body.motif-theme-dark .sm-form-designer__body--fullpreview .sm-form-designer__livepreview {
  background: var(--sm-ey-gray-200);
  border-color: var(--sm-ey-gray-300);
}

/* ─── Palette (left column) ─── */
.sm-form-designer__palette {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
  overflow: hidden;
  flex: 0 0 auto;
  /* width is set inline by the panel via `style={{ width: ... }}` */
  background: var(--sm-ey-gray-50);
  border-right: 1px solid var(--sm-ey-gray-200);
}

.sm-form-designer__palette-containers {
  border-top: 1px solid var(--sm-ey-gray-200);
  padding: 12px 16px;
  display: flex;
  flex-direction: column;
  gap: 6px;
  background: var(--sm-ey-gray-50);
  flex: 0 0 auto;
}

.sm-form-designer__palette-section-title {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--sm-ey-gray-500);
  margin-bottom: 4px;
}

.sm-form-designer__palette-pill {
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 7px 10px;
  border: 1px dashed var(--sm-ey-gray-300);
  border-radius: 6px;
  cursor: grab;
  background: #fff;
  user-select: none;
  font-size: 12px;
  font-weight: 600;
  color: var(--sm-ey-gray-700);
  transition: background 0.12s ease, border-color 0.12s ease;
}

.sm-form-designer__palette-pill:hover {
  background: var(--sm-ey-gray-100);
  border-color: var(--sm-ey-black);
}

.sm-form-designer__palette-pill.is-dragging {
  opacity: 0.4;
}

/* The shared palette fills the space above the layout-pieces footer. */
.sm-form-designer__palette > .sm-uischema-palette {
  flex: 1 1 auto;
  min-height: 0;
  height: auto;
}

/* ─── Canvas / tree (middle column) ─── */
.sm-form-designer__canvas {
  flex: 1 1 auto;
  min-width: 0;
  background: var(--sm-ey-gray-100);
  padding: 24px;
  overflow: auto;
}

/* Each top-level node reads like a section card on the gray canvas. */
.sm-form-designer__node {
  border: 1px solid transparent;
  border-radius: 6px;
  margin: 2px 0;
  transition: border-color 0.12s ease, background 0.12s ease, box-shadow 0.12s ease;
}

.sm-form-designer__canvas > .sm-form-designer__node > .sm-form-designer__node-children > .sm-form-designer__node {
  background: #fff;
  border-color: var(--sm-ey-gray-200);
  margin: 0 0 16px;
}

.sm-form-designer__node.is-selected {
  border-color: var(--sm-ey-info);
  background: #fbfdff;
  box-shadow: 0 0 0 3px var(--sm-ey-info-ring);
}

.sm-form-designer__node.is-dragging {
  opacity: 0.5;
}

.sm-form-designer__node-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  cursor: pointer;
  user-select: none;
}

.sm-form-designer__node-handle {
  color: var(--sm-ey-gray-500);
  cursor: grab;
  font-size: 14px;
  line-height: 1;
}

.sm-form-designer__node-kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 4px;
  background: var(--sm-ey-gray-100);
  font-size: 11px;
  flex: 0 0 auto;
}

.sm-form-designer__node-label {
  flex: 1 1 auto;
  font-size: 13px;
}

.sm-form-designer__node--layout > .sm-form-designer__node-header,
.sm-form-designer__node--group > .sm-form-designer__node-header {
  background: #fff;
  border-bottom: 1px solid var(--sm-ey-gray-100);
  font-weight: 700;
}

.sm-form-designer__node--control > .sm-form-designer__node-header {
  background: #fff;
}

.sm-form-designer__node--custom > .sm-form-designer__node-header {
  background: #fff8e1;
}

.sm-form-designer__node-children {
  padding: 8px 12px 12px;
}

.sm-form-designer__node--group > .sm-form-designer__node-children,
.sm-form-designer__node--layout-vertical > .sm-form-designer__node-children {
  padding-left: 14px;
}

.sm-form-designer__node-empty {
  padding: 6px 10px;
  font-size: 12px;
  font-style: italic;
  color: var(--sm-ey-gray-500);
}

/* ─── Drop zones — appear only while dragging ─── */
.sm-form-designer__drop-slot {
  height: 0;
  overflow: hidden;
  margin: 0;
  border-radius: 6px;
  transition: height 0.08s ease, background 0.08s ease;
}

.sm-form-designer__drop-slot.is-over {
  height: 28px;
  margin: 5px 0;
  border: 2px dashed var(--sm-ey-info);
  background: rgba(21, 92, 180, 0.1);
}

/* Empty-container drop zone: take the whole body so users can drop anywhere. */
.sm-form-designer__drop-slot--empty {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  height: auto;
  margin: 4px 0;
  padding: 22px;
  border: 2px dashed var(--sm-ey-gray-300);
  background: var(--sm-ey-gray-50);
  color: var(--sm-ey-gray-500);
  font-size: 13px;
  cursor: copy;
}

.sm-form-designer__drop-slot--empty.is-over {
  background: rgba(21, 92, 180, 0.08);
  border-color: var(--sm-ey-info);
  color: var(--sm-ey-info);
  height: auto;
}

.sm-form-designer__drop-slot-hint {
  pointer-events: none;
}

/* Horizontal layout: empty drop zone should stretch to fill the row. */
.sm-form-designer__node--layout-horizontal > .sm-form-designer__node-children > .sm-form-designer__drop-slot--empty {
  flex: 1 1 auto;
  width: auto;
  min-height: 56px;
  align-self: stretch;
}

/* Per-node remove button (X) on the header. */
.sm-form-designer__node-remove {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  height: 24px;
  padding: 0;
  margin-left: 4px;
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 4px;
  background: #fff;
  color: var(--sm-ey-gray-700);
  font-size: 13px;
  line-height: 1;
  cursor: pointer;
}

.sm-form-designer__node-remove:hover {
  background: #fbeceb;
  border-color: #e6b6b2;
  color: var(--sm-ey-danger);
}

/* ─── HorizontalLayout: render children in a row with vertical drop strips ─── */
.sm-form-designer__node--layout-horizontal > .sm-form-designer__node-children {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: stretch;
  gap: 0;
  overflow-x: auto;
  padding: 8px;
}

/* In horizontal mode the drop slots live BETWEEN siblings as vertical bars,
   not horizontal bars across the column. */
.sm-form-designer__node--layout-horizontal > .sm-form-designer__node-children > .sm-form-designer__drop-slot {
  width: 0;
  height: auto;
  min-height: 48px;
  margin: 0;
  align-self: stretch;
  flex: 0 0 auto;
}

.sm-form-designer__node--layout-horizontal > .sm-form-designer__node-children > .sm-form-designer__drop-slot.is-over {
  width: 26px;
  height: auto;
  margin: 0 4px;
  border: 2px dashed var(--sm-ey-info);
  background: rgba(21, 92, 180, 0.18);
}

/* Children of a horizontal layout shouldn't shrink themselves to nothing. */
.sm-form-designer__node--layout-horizontal > .sm-form-designer__node-children > .sm-form-designer__node {
  flex: 1 1 0;
  min-width: 160px;
}

/* ─── Splitter handle (palette / canvas / inspector dividers) ─── */
.sm-form-designer__splitter {
  flex: 0 0 auto;
}

/* ─── Inspector / Preview (right column) ─── */
.sm-form-designer__inspector {
  border-left: 1px solid var(--sm-ey-gray-200);
  background: #fff;
  padding: 0;
  overflow: auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.sm-form-designer__inspector-empty {
  display: flex;
  flex-direction: column;
  gap: 6px;
  align-items: center;
  justify-content: center;
  height: 100%;
  color: var(--sm-ey-gray-500);
  text-align: center;
  font-size: 13px;
  padding: 30px 18px;
}

.sm-form-designer__inspector-body {
  display: flex;
  flex-direction: column;
  gap: 15px;
  padding: 16px 18px;
}

.sm-form-designer__inspector-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 16px 18px;
  margin: -16px -18px 0;
  border-bottom: 1px solid var(--sm-ey-gray-200);
  font-size: 15px;
  font-weight: 700;
}

.sm-form-designer__inspector-kind {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border-radius: 4px;
  background: var(--sm-ey-gray-100);
  font-size: 12px;
  flex: 0 0 auto;
}

.sm-form-designer__inspector-help {
  margin: 0;
  font-size: 12px;
  color: var(--sm-ey-gray-500);
}

.sm-form-designer__inspector-error {
  font-size: 12px;
  color: var(--sm-ey-danger);
  background: #fbeceb;
  padding: 6px 8px;
  border-radius: 4px;
}

.sm-form-designer__custom-json {
  width: 100%;
  font-family: 'Consolas', 'Monaco', monospace;
  font-size: 12px;
  border: 1px solid var(--sm-ey-gray-300);
  border-radius: 6px;
  padding: 6px 8px;
  resize: vertical;
  background: var(--sm-ey-gray-50);
  min-height: 120px;
}

.sm-form-designer__passthrough {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 8px 0;
  border-top: 1px dashed var(--sm-ey-gray-200);
}

.sm-form-designer__passthrough-toggle {
  background: none;
  border: none;
  text-align: left;
  font-size: 12px;
  font-weight: 700;
  color: var(--sm-ey-black);
  cursor: pointer;
  padding: 4px 0;
}

/* ─── Preview pane ─── */
.sm-form-designer__preview {
  display: flex;
  flex-direction: column;
  gap: 8px;
  height: 100%;
  min-height: 0;
  padding: 16px 18px;
}

.sm-form-designer__preview-header {
  display: flex;
  align-items: center;
  gap: 8px;
  padding-bottom: 8px;
  border-bottom: 1px solid var(--sm-ey-gray-200);
}

.sm-form-designer__preview-body {
  flex: 1 1 auto;
  overflow: auto;
  padding: 4px;
}

.sm-form-designer__preview-error {
  padding: 12px;
  font-size: 12px;
  color: var(--sm-ey-danger);
  background: #fbeceb;
  border-radius: 4px;
}

/* ─── DnD overlay ─── */
.sm-form-designer__drag-overlay {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  background: var(--sm-ey-black);
  color: #fff;
  border-radius: 4px;
  font-size: 12px;
  pointer-events: none;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

/* ─── Fatal fallback ─── */
.sm-form-designer__fatal {
  padding: 16px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sm-form-designer__fatal pre {
  background: var(--sm-ey-gray-50);
  border: 1px solid var(--sm-ey-gray-300);
  padding: 8px;
  font-size: 12px;
  overflow: auto;
}

/* ─── Dark mode ─── */
body.motif-theme-dark .sm-form-designer__canvas {
  background: var(--motif-color-bg-subtle, #1f2026);
}

body.motif-theme-dark .sm-form-designer__node--custom > .sm-form-designer__node-header {
  background: #3d3320;
}

body.motif-theme-dark .sm-form-designer__custom-json {
  background: #1f2026;
  color: #e5e7eb;
  border-color: #3a3a44;
}

/* ─── Visual preview approximation (no JsonForms) ─── */
.sm-form-designer__preview-row {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 12px;
  align-items: flex-start;
  width: 100%;
}

.sm-form-designer__preview-col {
  display: flex;
  flex-direction: column;
  gap: 12px;
  width: 100%;
  align-items: stretch;
  align-content: flex-start;
}

.sm-form-designer__preview-group {
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 6px;
  padding: 12px 14px;
  margin: 0;
  background: #fff;
}

.sm-form-designer__preview-group-legend {
  font-size: 12px;
  font-weight: 700;
  color: var(--sm-ey-gray-500);
  padding: 0 6px;
  letter-spacing: 0.02em;
}

.sm-form-designer__preview-field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sm-form-designer__preview-row > .sm-form-designer__preview-field {
  flex: 1 1 220px;
  min-width: 180px;
}

.sm-form-designer__preview-field--checkbox {
  flex-direction: row;
  align-items: center;
  gap: 8px;
}

.sm-form-designer__preview-label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--sm-ey-black);
}

.sm-form-designer__preview-required {
  color: var(--sm-ey-danger);
  margin-left: 2px;
}

.sm-form-designer__preview-input {
  width: 100%;
  height: 34px;
  padding: 8px 11px;
  border: 1px solid var(--sm-ey-gray-300);
  border-radius: 6px;
  background: #fff;
  color: var(--sm-ey-black);
  font-size: 13.5px;
  box-sizing: border-box;
  cursor: not-allowed;
}

.sm-form-designer__preview-input:disabled {
  opacity: 0.85;
}

.sm-form-designer__preview-custom {
  border: 1px dashed var(--sm-ey-gray-300);
  border-radius: 6px;
  padding: 8px 10px;
  background: var(--sm-ey-gray-50);
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 12px;
}

.sm-form-designer__preview-custom-tag {
  background: #fff;
  border: 1px solid var(--sm-ey-gray-300);
  border-radius: 3px;
  padding: 1px 6px;
  font-weight: 700;
  font-size: 11px;
  color: var(--sm-ey-gray-500);
}

.sm-form-designer__preview-custom-type {
  color: var(--sm-ey-gray-500);
  font-family: var(--motif-font-mono, ui-monospace, SFMono-Regular, monospace);
}

/* ═══════════════════════════════════════════════════════════════════════════
 * Section canvas (AB#621178) — sections / rows / columns WYSIWYG.
 * Inherits the --sm-ey-* tokens from the .sm-form-designer root above.
 * ═══════════════════════════════════════════════════════════════════════════ */
.sm-form-canvas {
  display: flex;
  flex-direction: column;
  gap: 16px;
  max-width: 860px;
  margin: 0 auto;
}

.sm-form-canvas__form-title {
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.02em;
  color: var(--sm-ey-gray-500);
}

.sm-form-canvas__empty-form {
  padding: 40px 24px;
  text-align: center;
  border: 1px dashed var(--sm-ey-gray-300);
  border-radius: 8px;
  background: var(--sm-ey-gray-50);
  color: var(--sm-ey-gray-500);
  font-size: 13.5px;
}

/* ─── Section card ─── */
.sm-form-canvas__section {
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 8px;
  background: #fff;
  box-shadow: 0 1px 2px rgba(46, 46, 56, 0.04);
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}

.sm-form-canvas__section.is-selected {
  border-color: var(--sm-ey-info);
  box-shadow: 0 0 0 3px var(--sm-ey-info-ring);
}

.sm-form-canvas__section-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 16px;
  border-bottom: 1px solid var(--sm-ey-gray-100);
  cursor: pointer;
  user-select: none;
}

.sm-form-canvas__section-title {
  font-size: 15px;
  font-weight: 700;
  color: var(--sm-ey-black);
}

.sm-form-canvas__section-hint {
  font-size: 11.5px;
  color: var(--sm-ey-gray-500);
  opacity: 0;
  transition: opacity 0.12s ease;
}

.sm-form-canvas__section-head:hover .sm-form-canvas__section-hint,
.sm-form-canvas__section.is-selected .sm-form-canvas__section-hint {
  opacity: 1;
}

.sm-form-canvas__section-body {
  padding: 10px 16px 14px;
}

/* ─── Empty section drop zone ─── */
.sm-form-canvas__empty-drop {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 18px;
  border: 2px dashed var(--sm-ey-gray-300);
  border-radius: 6px;
  background: var(--sm-ey-gray-50);
  color: var(--sm-ey-gray-500);
  font-size: 13px;
  cursor: copy;
}

.sm-form-canvas__empty-drop.is-over {
  border-color: var(--sm-ey-info);
  background: rgba(21, 92, 180, 0.08);
  color: var(--sm-ey-info);
}

/* ─── Row + new-row drop zone ─── */
.sm-form-canvas__row {
  display: flex;
  flex-direction: row;
  align-items: stretch;
  flex-wrap: wrap;
}

.sm-form-canvas__row-zone {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 10px;
  border-radius: 5px;
  transition: height 0.1s ease, background 0.1s ease, border-color 0.1s ease;
}

.sm-form-canvas__row-zone-hint {
  font-size: 11px;
  font-weight: 600;
  color: var(--sm-ey-info);
  opacity: 0;
  pointer-events: none;
}

/* Reveal every new-row zone the moment a drag starts, so all drop targets are
   visible for the whole drag — not only the one under the cursor. */
.sm-form-canvas.is-dragging .sm-form-canvas__row-zone {
  height: 28px;
  margin: 4px 0;
  border: 2px dashed var(--sm-ey-gray-300);
  background: var(--sm-ey-gray-50);
}

.sm-form-canvas.is-dragging .sm-form-canvas__row-zone .sm-form-canvas__row-zone-hint {
  opacity: 0.75;
  color: var(--sm-ey-gray-500);
}

/* The row zone under the cursor: intensify to the info accent (4 classes, so it
   out-specifies the reveal rule above). */
.sm-form-canvas.is-dragging .sm-form-canvas__row-zone.is-over {
  height: 34px;
  border-color: var(--sm-ey-info);
  background: rgba(21, 92, 180, 0.1);
}

.sm-form-canvas.is-dragging .sm-form-canvas__row-zone.is-over .sm-form-canvas__row-zone-hint {
  opacity: 1;
  color: var(--sm-ey-info);
}

/* ─── Column drop zone (between cells) ─── */
.sm-form-canvas__col-zone {
  flex: 0 0 auto;
  width: 8px;
  align-self: stretch;
  border-radius: 5px;
  transition: width 0.1s ease, background 0.1s ease, border-color 0.1s ease;
}

/* Reveal every between-cell column zone while a drag is in flight. */
.sm-form-canvas.is-dragging .sm-form-canvas__col-zone {
  width: 26px;
  margin: 0 4px;
  border: 2px dashed var(--sm-ey-gray-300);
  background: var(--sm-ey-gray-50);
}

/* The column zone under the cursor: intensify to the info accent. */
.sm-form-canvas.is-dragging .sm-form-canvas__col-zone.is-over {
  border-color: var(--sm-ey-info);
  background: rgba(21, 92, 180, 0.18);
}

/* ─── Field cell (column) ─── */
.sm-form-canvas__cell {
  position: relative;
  flex: 1 1 200px;
  min-width: 180px;
  display: flex;
  flex-direction: column;
  gap: 5px;
  padding: 10px 12px;
  margin: 4px 0;
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 6px;
  background: #fff;
  cursor: pointer;
  transition: border-color 0.12s ease, box-shadow 0.12s ease, background 0.12s ease;
}

.sm-form-canvas__cell:hover {
  border-color: var(--sm-ey-gray-300);
  background: var(--sm-ey-gray-50);
}

.sm-form-canvas__cell.is-selected {
  border-color: var(--sm-ey-info);
  background: #fbfdff;
  box-shadow: 0 0 0 3px var(--sm-ey-info-ring);
}

.sm-form-canvas__cell.is-hidden {
  opacity: 0.6;
}

.sm-form-canvas__cell-tools {
  position: absolute;
  top: 6px;
  right: 6px;
  display: none;
  gap: 4px;
}

.sm-form-canvas__cell:hover .sm-form-canvas__cell-tools,
.sm-form-canvas__cell.is-selected .sm-form-canvas__cell-tools {
  display: flex;
}

/* Forms builder: the per-field toolbar is always visible, not hover-gated. */
.sm-form-canvas--forms .sm-form-canvas__cell-tools {
  display: flex;
}

.sm-form-canvas__cell-drag,
.sm-form-canvas__cell-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  padding: 0;
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 4px;
  background: #fff;
  color: var(--sm-ey-gray-700);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}

.sm-form-canvas__cell-drag {
  cursor: grab;
}

.sm-form-canvas__cell-remove:hover {
  background: #fbeceb;
  border-color: #e6b6b2;
  color: var(--sm-ey-danger);
}

/* Forms builder: remove is a plain ✕ and the lead grip a plain glyph — no
   bordered button chrome. */
.sm-form-canvas--forms .sm-form-canvas__cell-remove,
.sm-form-canvas--forms .sm-form-canvas__cell-drag--lead {
  border: none;
  background: transparent;
  width: auto;
  min-width: 18px;
  color: var(--sm-ey-gray-500);
}

.sm-form-canvas--forms .sm-form-canvas__cell-remove:hover {
  background: transparent;
  border: none;
  color: var(--sm-ey-danger);
}

/* Half-width field cell in forms builder mode. */
.sm-form-canvas__cell.is-half {
  flex: 0 1 calc(50% - 8px);
}

/* Inline per-field option controls (½ / 1 / required) — forms builder only. */
.sm-form-canvas__cell-opts {
  display: inline-flex;
  gap: 2px;
  padding: 0 2px;
  border: 1px solid var(--sm-ey-gray-200);
  border-radius: 4px;
  background: #fff;
}

.sm-form-canvas__cell-opt {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 20px;
  height: 20px;
  padding: 0 2px;
  border: none;
  border-radius: 3px;
  background: transparent;
  color: var(--sm-ey-gray-600);
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}

.sm-form-canvas__cell-opt:hover:not(:disabled) {
  background: var(--sm-ey-gray-100);
}

.sm-form-canvas__cell-opt.is-active {
  background: var(--sm-ey-black);
  color: #fff;
}

.sm-form-canvas__cell-opt:disabled {
  cursor: default;
}

/* Section grip + field count (forms builder mode). */
.sm-form-canvas__section-grip {
  color: var(--sm-ey-gray-400);
  font-size: 13px;
  line-height: 1;
  cursor: grab;
  user-select: none;
}

.sm-form-canvas__section-count {
  font-size: 11.5px;
  color: var(--sm-ey-gray-500);
}

/* Inline-editable section name (forms builder mode). */
.sm-form-canvas__section-title-input {
  flex: 1 1 auto;
  min-width: 0;
  font-size: 15px;
  font-weight: 700;
  color: var(--sm-ey-black);
  background: transparent;
  border: 1px solid transparent;
  border-radius: 4px;
  padding: 4px 8px;
  cursor: text;
}

.sm-form-canvas__section-title-input:hover {
  border-color: var(--sm-ey-gray-200);
}

.sm-form-canvas__section-title-input:focus {
  outline: none;
  background: #fff;
  border-color: var(--sm-ey-info);
  box-shadow: 0 0 0 3px var(--sm-ey-info-ring);
}

.sm-form-canvas__section-title-input::placeholder {
  font-weight: 500;
  color: var(--sm-ey-gray-400);
}

/* Count + delete grouped on the right of the section header. */
.sm-form-canvas__section-meta {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: auto;
}

.sm-form-canvas__section-remove {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: none;
  background: transparent;
  color: var(--sm-ey-gray-500);
  font-size: 13px;
  line-height: 1;
  padding: 2px;
  cursor: pointer;
}

.sm-form-canvas__section-remove:hover {
  color: var(--sm-ey-danger);
}

/* Full-width "Add section" affordance (forms builder). */
.sm-form-canvas__add-section--full {
  display: block;
}

.sm-form-canvas__add-section--full motif-button {
  display: block;
  width: 100%;
}

.sm-form-canvas__add-section--full motif-button::part(button) {
  width: 100%;
  background: var(--sm-ey-black);
  border-color: var(--sm-ey-black);
  color: #fff;
}

.sm-form-canvas__add-section--full motif-button::part(button):hover {
  background: #1a1a24;
  border-color: #1a1a24;
  color: #fff;
}

.sm-form-canvas__cell-label {
  font-size: 12.5px;
  font-weight: 700;
  color: var(--sm-ey-black);
  padding-right: 52px; /* clear the hover tools */
}

/* Forms builder: lead drag grip sits before the label text on one row. */
.sm-form-canvas--forms .sm-form-canvas__cell-label {
  display: flex;
  align-items: flex-start;
  gap: 6px;
  padding-right: 118px; /* clear the always-on ½/1/✱ + remove toolbar */
}

/* Grip + type icon align to the top of the (possibly wrapping) label text. */
.sm-form-canvas--forms .sm-form-canvas__cell-drag--lead,
.sm-form-canvas--forms .sm-form-canvas__cell-label .sm-field-type-icon {
  margin-top: 1px;
}

.sm-form-canvas__cell-labeltext {
  min-width: 0;
}

.sm-form-canvas__cell-drag--lead {
  flex: 0 0 auto;
}

.sm-form-canvas__cell-req {
  color: var(--sm-ey-danger);
}

.sm-form-canvas__cell-hidetag {
  margin-left: 6px;
  padding: 1px 6px;
  border-radius: 3px;
  background: var(--sm-ey-gray-100);
  color: var(--sm-ey-gray-500);
  font-size: 10.5px;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.sm-form-canvas__cell-control {
  width: 100%;
  height: 32px;
  padding: 6px 10px;
  border: 1px solid var(--sm-ey-gray-300);
  border-radius: 6px;
  background: #fff;
  color: var(--sm-ey-black);
  font-size: 13px;
  box-sizing: border-box;
  cursor: not-allowed;
}

.sm-form-canvas__cell-control--checkbox {
  height: auto;
  border: none;
  padding: 0;
  background: none;
}

/* ─── Add section ─── */
.sm-form-canvas__add-section {
  display: flex;
  justify-content: center;
  padding: 4px 0 8px;
}

/* ─── Dark mode ─── */
body.motif-theme-dark .sm-form-canvas__section,
body.motif-theme-dark .sm-form-canvas__cell {
  background: var(--motif-color-bg-default, #26272e);
  border-color: #3a3a44;
}

body.motif-theme-dark .sm-form-canvas__cell-control {
  background: #1f2026;
  color: #e5e7eb;
  border-color: #3a3a44;
}
/*
 * UI Schema Designer surface styles — the host-neutral inner shell shared by
 * the admin Schema Manager modal and the full-screen Forms designer route.
 *
 * These selectors are global (not scoped under a page class) because the modal
 * host portals to the document root. The surface fills whatever host it sits in.
 */

.sm-uischema-designer-shell {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  height: 100%;
}

.sm-uischema-designer-shell__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  padding: 12px 20px;
  border-bottom: 1px solid #e1e1e6;
  background: #f8f8fa;
}

.sm-uischema-designer-shell__meta-item {
  display: flex;
  flex-direction: column;
  font-size: 12px;
  line-height: 1.2;
  color: #444450;
}

.sm-uischema-designer-shell__meta-item-label {
  font-weight: 700;
  letter-spacing: 0.02em;
  color: #747480;
}

.sm-uischema-designer-shell__meta-item-value {
  margin-top: 2px;
  font-size: 13px;
  color: #2e2e38;
}

.sm-uischema-designer-shell__warnings {
  padding: 8px 20px;
  background: rgba(255, 230, 0, 0.12);
  border-bottom: 1px solid rgba(255, 230, 0, 0.5);
  font-size: 13px;
  color: #6b4f00;
}

.sm-uischema-designer-shell__body {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: auto;
  padding: 0;
  height: 100%;
}

.sm-uischema-designer-shell__placeholder {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 12px;
  padding: 40px;
  color: var(--motif-text-secondary, #666);
  text-align: center;
}

.sm-uischema-designer-shell__placeholder pre {
  width: 100%;
  max-width: 900px;
  margin: 0;
  padding: 12px 16px;
  background: var(--motif-background-secondary, #f4f4f4);
  border: 1px solid var(--motif-border-color, #e5e5e5);
  border-radius: 4px;
  text-align: left;
  white-space: pre-wrap;
  word-break: break-word;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 12px;
  max-height: 360px;
  overflow: auto;
}

/* Dark mode */
body.motif-theme-dark .sm-uischema-designer-shell__meta {
  background: var(--motif-background-secondary, #1f1f1f);
  border-bottom-color: var(--motif-border-color, #333);
}

body.motif-theme-dark .sm-uischema-designer-shell__placeholder pre {
  background: #1f1f1f;
  border-color: #333;
}

body.motif-theme-dark .sm-uischema-designer-shell__warnings {
  background: rgba(255, 196, 0, 0.12);
  color: #ffd66b;
  border-bottom-color: rgba(255, 196, 0, 0.45);
}
/*
 * UI Schema Designer Dialog styles — the admin Schema Manager modal frame only.
 * The inner shell (meta, warnings, body, placeholder) lives in
 * UiSchemaDesignerSurface.css, imported by the surface itself.
 *
 * IMPORTANT: All selectors here MUST be top-level / global, not nested under a
 * page component class. Motif dialogs are portaled to the document root, so
 * any styles scoped under the Schema Manager page would never apply.
 *
 * The dialog targets a large "workspace" footprint of ~90vw × 90vh.
 */

/*
 * The Motif Web Component <motif-modal> owns its own fixed/centered overlay and
 * exposes CSS Shadow Parts. Size the inner panel via ::part(modal) — do NOT put
 * width/height/display on the host element, or the modal drops out of the WC
 * overlay into normal document flow (renders far below the viewport).
 */
.sm-uischema-designer-modal::part(modal) {
  width: 90vw;
  max-width: 90vw;
  height: 90vh;
  max-height: 90vh;
  box-sizing: border-box;
}

.sm-uischema-designer-modal::part(body) {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  padding: 0;
}

.sm-uischema-designer-shell__footer-meta {
  margin-right: auto;
  font-size: 12px;
  color: var(--motif-text-secondary, #666);
}
.sm-shell {
  --sm-border: var(--motif-component-table-border-color, rgba(120, 120, 120, 0.28));
  --sm-border-strong: rgba(120, 120, 120, 0.38);
  --sm-surface: var(--motif-color-surface, #ffffff);
  --sm-surface-alt: var(--motif-color-surface-raised, #f6f7f9);
  --sm-muted: var(--motif-color-text-secondary, #5f6368);
  --sm-text: var(--motif-color-text-primary, #171717);
  --sm-link: var(--motif-color-primary, #2b67f6);
  --sm-radius: var(--motif-border-radius-medium, 10px);
  display: flex;
  flex-direction: column;
  width: 100%;
  height: 100%;
  min-height: 0;
  padding: 0;
  color: var(--sm-text);
}



body.motif-theme-dark .sm-shell,
body.b-theme-classic-dark .sm-shell {
  --sm-border: rgba(222, 222, 226, 0.14);
  --sm-border-strong: rgba(242, 242, 248, 0.34);
  --sm-surface: rgb(28, 30, 40);
  --sm-surface-alt: rgb(40, 44, 58);
  --sm-muted: rgba(236, 236, 244, 0.86);
  --sm-text: rgb(245, 247, 252);
  --sm-link: rgb(166, 198, 255);
}

.sm-shell .p-splitter {
  height: 100%;
  border: 0;
  background: transparent;
}

.sm-shell .p-splitter-gutter {
  width: 4px !important;
  background: var(--sm-border);
}

.sm-shell .p-splitter-gutter:hover,
.sm-shell .p-splitter-gutter:focus-within {
  background: var(--motif-color-primary, #ffd600);
}

.sm-shell .p-splitter-gutter-handle {
  display: none;
}

.sm-shell__splitter {
  flex: 1;
  min-height: 0;
}

.sm-shell__pane {
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
  overflow: hidden;
  padding: 0 2px;
}

.sm-shell__pane:first-child {
  padding-left: 0;
}

.sm-shell__pane:last-child {
  padding-right: 0;
}

.sm-shell__pane--collapsed {
  padding: 0 !important;
}

.sm-shell__pane--collapsed > .sm-pane-shell {
  border-width: 0;
  border-radius: 0;
}

.sm-shell--compact .p-splitter-gutter {
  width: 3px !important;
}

.sm-shell--compact .sm-shell__pane {
  padding: 0 1px;
}

.sm-card {
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.sm-pane-shell {
  width: 100%;
  height: 100%;
  min-height: 0;
  min-width: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-surface);
}

.sm-shell motif-card-header,
.sm-shell motif-card-body,
.sm-shell .motif-card-header,
.sm-shell .motif-card-body,
.sm-card motif-card-body,
.sm-card .motif-card-body,
.sm-card .motif-card__body,
.sm-section-card motif-card-body,
.sm-section-card .motif-card__body {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.sm-state {
  padding: 12px 14px;
  font-size: 13px;
  color: var(--sm-muted);
}

.sm-state--empty {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  text-align: center;
  height: 100%;
}

.sm-state--loading {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  height: 100%;
  min-height: 200px;
}

.sm-state--error {
  color: var(--motif-color-danger, #b42318);
}

.sm-state__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--sm-text);
}

.sm-state__body {
  color: var(--sm-muted);
}

.sm-state__actions {
  display: flex;
  justify-content: center;
}

.sm-state--info {
  margin-bottom: 12px;
  border: 1px solid var(--sm-border);
  background: var(--sm-surface-alt);
}

.sm-pane-error {
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 20px;
  text-align: center;
}

.sm-pane-error__icon {
  font-size: 26px;
  line-height: 1;
}

.sm-pane-error__title {
  font-size: 15px;
  font-weight: 700;
  color: var(--sm-text);
}

.sm-pane-error__body {
  max-width: 320px;
  font-size: 13px;
  line-height: 1.5;
  color: var(--sm-muted);
}

.sm-pane-error__details {
  max-width: 100%;
  margin: 0;
  padding: 10px 12px;
  border: 1px solid var(--sm-border);
  background: var(--sm-surface-alt);
  color: var(--motif-color-danger, #b42318);
  font-size: 12px;
  line-height: 1.45;
  white-space: pre-wrap;
  word-break: break-word;
}

.sm-pane-error__actions {
  display: flex;
  justify-content: center;
}

.sm-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 6px;
  border-radius: 999px;
  font-size: 10px;
  font-weight: 700;
  white-space: nowrap;
}

.sm-badge--category { background: color-mix(in srgb, var(--sm-link) 14%, transparent); color: var(--sm-link); }
.sm-badge--shared { background: color-mix(in srgb, var(--sm-muted) 16%, transparent); color: var(--sm-text); }
.sm-badge--override { background: color-mix(in srgb, var(--motif-color-warning, #f59e0b) 18%, transparent); color: var(--sm-text); }
.sm-badge--enum { background: color-mix(in srgb, var(--sm-link) 12%, transparent); color: var(--sm-link); }
.sm-badge--ui { background: color-mix(in srgb, var(--motif-color-success, #00866a) 18%, transparent); color: var(--sm-text); }
.sm-badge--graph { background: color-mix(in srgb, var(--sm-muted) 16%, transparent); color: inherit; }

.sm-link-button {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--sm-link);
  cursor: pointer;
  padding: 0;
  text-align: left;
  text-decoration: underline;
  text-underline-offset: 2px;
  word-break: break-all;
}

.sm-link-button--block {
  display: block;
  width: 100%;
  padding: 4px 0;
}

.sm-ref-modal {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.sm-ref-modal__intro {
  font-size: 13px;
  line-height: 1.5;
  color: var(--sm-muted);
}

.sm-ref-modal__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.sm-ref-modal__error {
  padding: 10px 12px;
  border: 1px solid color-mix(in srgb, var(--motif-color-danger, #b42318) 30%, transparent);
  border-radius: 8px;
  background: color-mix(in srgb, var(--motif-color-danger, #b42318) 10%, transparent);
  color: var(--motif-color-danger, #b42318);
  font-size: 12px;
  line-height: 1.45;
}

.sm-catalog {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.sm-catalog__header {
  padding: 10px 12px 8px;
  border-bottom: 1px solid var(--sm-border);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sm-catalog__title-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.sm-catalog__title {
  font-size: 13px;
  font-weight: 700;
  color: var(--sm-text);
}

.sm-catalog__subtitle {
  margin-top: -4px;
  font-size: 12px;
  color: var(--sm-muted);
}

.sm-catalog__context {
  font-size: 12px;
  line-height: 1.45;
  color: var(--sm-muted);
}

.sm-catalog__search {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-surface-alt);
  color: var(--sm-text);
}

.sm-catalog__nav-group {
  min-width: 0;
}

.sm-catalog__tabs {
  max-width: 100%;
  border-bottom: 1px solid var(--sm-border);
}

.sm-catalog__list,
.sm-catalog__recent {
  overflow: auto;
}

.sm-catalog__list {
  flex: 1;
  padding: 8px 0;
}

.sm-catalog__recent {
  border-top: 1px solid var(--sm-border);
  padding: 8px 0;
  max-height: 180px;
}

.sm-catalog__group-label,
.sm-catalog__recent-title {
  padding: 6px 14px;
  font-size: 11px;
  font-weight: 700;
  color: var(--sm-muted);
}

.sm-entry {
  width: calc(100% - 12px);
  margin: 0 6px 6px;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: transparent;
  padding: 10px 12px;
  text-align: left;
  cursor: pointer;
  color: var(--sm-text);
}

.sm-entry--active {
  border-color: var(--motif-color-primary, #ffd600);
  background: var(--sm-surface-alt);
}

.sm-entry__name {
  font-size: 13px;
  font-weight: 600;
  color: var(--sm-text);
}

.sm-entry__meta {
  margin-top: 4px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.sm-entry__schema-id {
  font-size: 11px;
  color: var(--sm-muted);
  word-break: break-all;
}

.sm-entry__badges {
  display: inline-flex;
  gap: 6px;
  flex-wrap: wrap;
}

.sm-workspace,
.sm-inspector {
  height: 100%;
}

.sm-workspace__header-card,
.sm-inspector__header {
  border-bottom: 1px solid var(--sm-border);
  padding: 6px 8px;
}

.sm-workspace__header-card {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.sm-shell--compact .sm-workspace__header-card,
.sm-shell--compact .sm-inspector__header {
  padding: 4px 6px;
}

.sm-shell--compact .sm-workspace__header-card {
  gap: 6px;
}

.sm-workspace__body-card,
.sm-inspector__body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  flex: 1;
  padding: 0;
}

.sm-workspace__empty-card {
  display: flex;
  flex: 1;
  min-height: 0;
  align-items: center;
  justify-content: center;
}

.sm-workspace__empty-icon {
  font-size: 28px;
}

.sm-workspace__empty-title {
  font-size: 18px;
  font-weight: 600;
}

.sm-workspace__empty-body {
  max-width: 320px;
  color: var(--sm-muted);
}

.sm-workspace__tab-bar {
  flex: 1;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
}

.sm-workspace__tab-bar motif-tab-navigation {
  min-width: max-content;
}

.sm-workspace__header-actions {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex-shrink: 0;
  flex-wrap: nowrap;
}

.sm-workspace__nav-btn {
  width: 30px;
  min-width: 30px;
  height: 30px;
  padding: 0;
  justify-content: center;
}

.sm-workspace__tab-name {
  display: inline-block;
  max-width: 180px;
  overflow: hidden;
  text-overflow: ellipsis;
  vertical-align: middle;
  white-space: nowrap;
}

.sm-workspace__tab-spinner,
.sm-workspace__dirty-dot {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  display: inline-block;
}

.sm-workspace__tab-spinner {
  background: var(--sm-muted);
}

.sm-workspace__dirty-dot {
  background: var(--motif-color-primary, #ffd600);
}

.sm-document {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

.sm-document__header {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  align-items: center;
  gap: 6px;
  padding: 4px 12px 6px;
  border-bottom: 1px solid var(--sm-border);
}

.sm-document__header-main {
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-width: 0;
}

.sm-document__title-row {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sm-document__title {
  margin: 0 !important;
  margin-block: 0 !important;
  font-size: 22px;
  line-height: 1.05;
}

.sm-document__subtitle {
  margin-top: 2px;
  color: var(--sm-muted);
  font-size: 12px;
}

.sm-document__description {
  margin: 4px 0 0;
  color: var(--sm-muted);
  max-width: 72ch;
}

.sm-shell--compact .sm-document__header {
  gap: 4px;
  padding: 8px 10px 6px;
}

.sm-shell--compact .sm-document__title {
  font-size: 18px;
}

.sm-shell--compact .sm-document__subtitle {
  font-size: 11px;
}

.sm-shell--compact .sm-document__description {
  margin-top: 2px;
  font-size: 13px;
  line-height: 1.35;
}

.sm-document__notice {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--sm-border);
  background: color-mix(in srgb, var(--sm-surface-alt) 70%, transparent);
  color: var(--sm-text);
}

.sm-shell--compact .sm-document__notice {
  align-items: flex-start;
  padding: 8px 10px;
  font-size: 12px;
  line-height: 1.45;
}

.sm-document__notice--subtle {
  color: var(--sm-muted);
}

.sm-document__subtab-bar {
  padding: 0 12px;
  border-bottom: 1px solid var(--sm-border);
  overflow-x: auto;
  flex-shrink: 0;
}

.sm-document__subtab-bar motif-tab-navigation {
  min-width: max-content;
}

.sm-shell--compact .sm-document__subtab-bar {
  padding: 0 10px;
}

.sm-document__subtab-content {
  flex: 1;
  min-height: 0;
  padding: 4px 12px 14px;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.sm-shell--compact .sm-document__subtab-content {
  padding: 4px 10px 10px;
  overflow: auto;
}

.sm-structure,
.sm-editor-stack {
  display: flex;
  flex-direction: column;
  gap: 8px;
  min-height: 0;
}

.sm-structure {
  flex: 1;
  overflow: hidden;
}

.sm-shell--compact .sm-structure,
.sm-shell--compact .sm-editor-stack {
  gap: 6px;
}

.sm-shell--compact .sm-structure {
  overflow: visible;
}

.sm-editor-stack--nested {
  gap: 10px;
  margin-top: 8px;
}

.sm-section-card {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  min-width: 0;
  min-height: 0;
  align-self: stretch;
  grid-template-columns: none !important;
  grid-template-rows: none !important;
}

.sm-section-card {
  min-height: 0;
}

.sm-section-card--fill {
  flex: 1;
  height: 100% !important;
}

.sm-shell--compact .sm-section-card--fill:not(.sm-section-card--fullscreen) {
  flex: 0 0 auto;
  min-height: 260px;
  height: auto !important;
}

.sm-section-card--fullscreen {
  position: fixed !important;
  inset: 16px;
  z-index: 1500;
  height: auto !important;
  width: auto !important;
  max-width: none !important;
  max-height: none !important;
  background: var(--sm-surface);
  box-shadow: 0 20px 48px rgba(15, 23, 42, 0.35);
}

.sm-section-card__header {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 16px;
  border-bottom: 1px solid var(--sm-border);
  width: 100%;
  padding: 6px 12px 8px !important;
}

.sm-shell--compact .sm-section-card__header {
  grid-template-columns: minmax(0, 1fr);
  gap: 12px;
  padding: 6px 10px !important;
}

.sm-section-card__header > :first-child {
  flex: 1;
  min-width: 0;
  text-align: left;
  justify-self: start;
}

.sm-section-card__title {
  font-size: 14px;
  font-weight: 700;
}

.sm-section-card__subtitle {
  margin-top: 2px;
  font-size: 12px;
  color: var(--sm-muted);
}

.sm-section-card--properties .sm-section-card__header {
  gap: 8px;
  padding: 5px 8px 6px !important;
}

.sm-section-card--properties {
  padding: 5px !important;
}

.sm-section-card--properties .sm-section-card__subtitle {
  margin-top: 1px;
  font-size: 11px;
}

.sm-section-card__actions {
  display: inline-flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-self: end;
  align-self: start;
  margin-left: 0;
}

.sm-shell--compact .sm-section-card__actions {
  gap: 6px;
  width: 100%;
  justify-self: stretch;
  justify-content: flex-start;
  flex-wrap: nowrap;
  overflow-x: auto;
  padding-bottom: 2px;
}

.sm-structure__body,
.sm-graph-card-body,
.sm-grid-card-body,
.sm-ui-schema-card-body,
.sm-raw-editor-card {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

.sm-section-card--properties .sm-structure__body {
  padding: 5px !important;
}

.sm-shell--compact .sm-structure__body,
.sm-shell--compact .sm-graph-card-body,
.sm-shell--compact .sm-grid-card-body,
.sm-shell--compact .sm-ui-schema-card-body,
.sm-shell--compact .sm-raw-editor-card {
  min-height: 220px;
}

.sm-property-table {
  display: flex;
  flex-direction: column;
  width: 100%;
  min-height: 0;
  overflow: auto;
}

.sm-state--inline {
  margin: 0 16px;
  padding: 10px 0 0;
}

.sm-shell--compact .sm-state--inline {
  margin: 0 10px;
  padding-top: 8px;
}

.sm-property-table__header,
.sm-property-row {
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) 120px 90px minmax(180px, 1fr);
  gap: 12px;
  align-items: center;
}

.sm-property-table__header {
  position: sticky;
  top: 0;
  padding: 10px 12px;
  background: var(--sm-surface);
  border-bottom: 1px solid var(--sm-border);
  font-size: 12px;
  font-weight: 700;
  color: var(--sm-muted);
  z-index: 1;
}

.sm-property-row {
  appearance: none;
  border: 0;
  border-bottom: 1px solid var(--sm-border);
  background: transparent;
  padding: 12px;
  text-align: left;
  cursor: pointer;
}

.sm-property-row small {
  display: block;
  margin-top: 2px;
  color: var(--sm-muted);
}

.sm-property-row--active {
  background: var(--sm-surface-alt);
}

.sm-graph-surface,
.sm-ag-grid,
.sm-ui-schema-grid,
.sm-raw-editor-card .cm-theme,
.sm-raw-editor-card .cm-editor,
.sm-raw-editor-card .cm-scroller {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.sm-ui-schema-grid {
  display: grid;
  gap: 14px;
}

.sm-ui-schema-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  overflow: auto;
}

.sm-ui-schema-shell {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  gap: 12px;
}

.sm-ui-schema-picker {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-width: 460px;
}

.sm-ui-schema-picker__label {
  font-size: 13px;
  font-weight: 600;
  color: var(--sm-text);
}

.sm-ui-schema-picker__select {
  width: 100%;
  min-height: 40px;
  padding: 8px 12px;
  border: 1px solid var(--sm-border);
  border-radius: 8px;
  background: var(--sm-surface);
  color: var(--sm-text);
  font: inherit;
}

.sm-ui-schema-picker__select:focus {
  outline: 2px solid var(--motif-color-primary, #2f80ed);
  outline-offset: 1px;
}

.sm-ui-schema-editor {
  display: flex;
  flex: 1;
  min-height: 0;
  flex-direction: column;
  gap: 10px;
}

.sm-ui-schema-editor .cm-theme,
.sm-ui-schema-editor .cm-editor,
.sm-ui-schema-editor .cm-scroller {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.sm-ui-schema-meta,
.sm-ui-schema-editor__actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.sm-ui-schema-editor__actions {
  justify-content: flex-end;
}

.sm-ui-schema-name {
  font-size: 13px;
  font-weight: 600;
  color: var(--sm-text);
}

.sm-raw-editor-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sm-code-editor-surface {
  display: flex;
  flex-direction: column;
  min-height: 0;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  overflow: hidden;
}

.sm-code-editor-surface--fill {
  flex: 1;
}

.sm-code-editor-surface > .cm-theme,
.sm-code-editor-surface > .cm-editor {
  flex: 1;
  min-height: 0;
}

.sm-code-editor-surface .cm-editor,
.sm-code-editor-surface .cm-scroller {
  width: 100%;
  height: 100%;
  min-height: 0;
}

.sm-code-block {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-surface-alt);
  font-size: 12px;
  line-height: 1.5;
  overflow: auto;
}

.sm-code-block--fill {
  flex: 1;
}

.sm-graph-node-card {
  position: relative;
  width: 100%;
  min-height: 132px;
  border: 1px solid var(--sm-border-strong);
  border-radius: 14px;
  border-top: 5px solid transparent;
  background: var(--sm-surface);
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.12);
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  overflow: hidden;
}

.sm-graph-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin-top: 8px;
}

.sm-graph-legend__item {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  color: var(--sm-muted);
}

.sm-graph-legend__swatch {
  width: 18px;
  height: 12px;
  border-radius: 999px;
  border: 1px solid var(--sm-border-strong);
  background: var(--sm-surface);
}

.sm-graph-legend__swatch--schema {
  background: color-mix(in srgb, var(--sm-surface) 88%, rgb(17, 85, 204));
}

.sm-graph-legend__swatch--property {
  border-style: dashed;
  background: linear-gradient(90deg, color-mix(in srgb, rgb(245, 158, 11) 28%, transparent) 0 6px, var(--sm-surface-alt) 6px);
}

.sm-graph-legend__swatch--shared {
  border-top: 4px solid rgb(17, 85, 204);
}

.sm-graph-legend__swatch--tenant {
  border-top: 4px solid rgb(18, 113, 75);
}

.sm-graph-surface .react-flow__edges {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.sm-graph-surface .react-flow__edge {
  overflow: visible;
}

.sm-graph-surface .react-flow__edges svg {
  width: 100%;
  height: 100%;
  overflow: visible;
}

.sm-graph-node-card--current {
  border-color: color-mix(in srgb, var(--sm-link) 60%, var(--sm-border-strong));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--sm-link) 30%, transparent), 0 10px 24px rgba(15, 23, 42, 0.16);
}

.sm-graph-node-card--tenant {
  border-top-color: rgb(18, 113, 75);
  background: color-mix(in srgb, var(--sm-surface) 86%, rgb(18, 113, 75));
}

.sm-graph-node-card--shared {
  border-top-color: rgb(17, 85, 204);
  background: color-mix(in srgb, var(--sm-surface) 88%, rgb(17, 85, 204));
}

.sm-graph-node-card--property {
  min-height: 104px;
  border-style: dashed;
  background: var(--sm-surface-alt);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--sm-border-strong) 90%, transparent),
    0 8px 18px rgba(15, 23, 42, 0.1);
}

.sm-graph-node-card--property.sm-graph-node-card--tenant {
  background:
    linear-gradient(90deg, color-mix(in srgb, rgb(18, 113, 75) 32%, transparent) 0 12px, transparent 12px),
    var(--sm-surface-alt);
}

.sm-graph-node-card--property.sm-graph-node-card--shared {
  background:
    linear-gradient(90deg, color-mix(in srgb, rgb(17, 85, 204) 32%, transparent) 0 12px, transparent 12px),
    var(--sm-surface-alt);
}

.sm-graph-node-card--property .sm-graph-node-card__schema-id {
  letter-spacing: 0;
  font-size: 11px;
}

.sm-graph-node-card__meta {
  display: flex;
  align-items: center;
  justify-content: flex-start;
}

.sm-graph-node-card__kind {
  display: inline-flex;
  align-items: center;
  padding: 2px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
  line-height: 1.2;
}

.sm-graph-node-card__kind--schema {
  background: color-mix(in srgb, var(--sm-surface) 72%, transparent);
  color: var(--sm-text);
}

.sm-graph-node-card__kind--property {
  background: color-mix(in srgb, rgb(245, 158, 11) 18%, transparent);
  color: color-mix(in srgb, var(--sm-text) 82%, rgb(245, 158, 11));
}

.sm-graph-node-card__schema-id {
  font-size: 10px;
  letter-spacing: 0.08em;
  color: var(--sm-muted);
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  line-height: 1.35;
}

.sm-graph-node-card__title {
  font-size: 14px;
  font-weight: 700;
}

.sm-graph-node-card__subtitle {
  font-size: 12px;
  color: var(--sm-muted);
}

.sm-graph-node-card__badges {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.sm-graph-node-card__actions {
  margin-top: auto;
  display: flex;
  align-items: center;
}

.sm-graph-handle {
  width: 10px;
  height: 10px;
  border: 2px solid var(--sm-surface);
  background: var(--sm-link);
}

.sm-graph-edge-label {
  position: absolute;
  padding: 4px 8px;
  border: 1px solid var(--sm-border);
  border-radius: 999px;
  background: var(--sm-surface);
  color: var(--sm-muted);
  font-size: 11px;
  line-height: 1;
  white-space: nowrap;
  pointer-events: none;
}

.sm-graph-edge-label--override {
  color: var(--motif-color-warning, #f59e0b);
}

.sm-graph-edge-path {
  vector-effect: non-scaling-stroke;
  overflow: visible;
}

.sm-graph-edge-path--outline {
  filter: drop-shadow(0 0 7px rgba(226, 232, 255, 0.18));
}

.sm-graph-edge-path--foreground {
  filter: drop-shadow(0 1px 6px rgba(37, 99, 235, 0.42));
}

.sm-ag-grid--properties .ag-cell {
  display: flex;
  align-items: center;
}

.sm-ag-grid--properties .ag-header-cell-label {
  font-weight: 700;
}

.sm-property-grid-name {
  display: flex;
  flex-direction: column;
  min-width: 0;
  line-height: 1.25;
}

.sm-property-grid-title,
.sm-property-grid-key {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sm-property-grid-title {
  font-weight: 600;
}

.sm-property-grid-key {
  margin-top: 2px;
  font-size: 12px;
  color: var(--sm-muted);
}

.sm-property-grid-row--active .ag-cell {
  background: var(--sm-surface-alt);
}

.sm-ag-grid .ag-header-cell-label,
.sm-ag-grid .ag-cell,
.sm-ag-grid .ag-header-group-cell-label {
  text-transform: none;
}

.sm-array-field {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sm-array-field__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sm-array-field__label {
  font-size: 12px;
  font-weight: 600;
}

.sm-array-field__rows {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.sm-array-field__row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 8px;
  align-items: start;
}

.sm-array-field__row input,
.sm-array-field__row textarea {
  width: 100%;
  padding: 8px 10px;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-surface-alt);
  color: var(--sm-text);
}

.sm-array-field__empty {
  font-size: 12px;
  color: var(--sm-muted);
}

.sm-inspector__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.sm-inspector__title {
  font-size: 13px;
  font-weight: 700;
}

.sm-inspector__actions {
  display: inline-flex;
  gap: 6px;
  flex-wrap: nowrap;
  flex-shrink: 0;
}

.sm-inspector__body {
  padding: 14px;
  overflow: auto;
}

.sm-shell--compact .sm-inspector__body {
  padding: 10px;
}

.sm-editor-section {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  overflow: visible;
  background: var(--sm-surface);
}

.sm-editor-section__title {
  padding: 10px 12px;
  border-bottom: 1px solid var(--sm-border);
  background: var(--sm-surface-alt);
  font-size: 12px;
  font-weight: 700;
}

.sm-editor-section__body {
  padding: 12px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.sm-static-pair {
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.sm-static-pair__label,
.sm-textarea-field__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--sm-muted);
}

.sm-textarea-field__helper {
  font-size: 12px;
  line-height: 1.45;
  color: var(--sm-muted);
}

.sm-static-pair__value {
  font-size: 13px;
}

.sm-static-pair__value--mono {
  font-family: Consolas, 'Courier New', monospace;
  word-break: break-all;
}

.sm-textarea-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sm-code-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sm-code-field__editor {
  min-height: 0;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  overflow: hidden;
}

.sm-code-field__help,
.sm-code-field__error {
  font-size: 12px;
  line-height: 1.45;
}

.sm-code-field__help {
  color: var(--sm-muted);
}

.sm-code-field__error {
  color: var(--motif-color-danger, #b42318);
}

.sm-textarea-field textarea {
  width: 100%;
  resize: vertical;
  min-height: 88px;
  padding: 10px;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-surface-alt);
  color: var(--sm-text);
}

.sm-raw-editor-card .sm-raw-ref-link {
  color: var(--sm-link);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 2px;
}

body.motif-theme-dark .sm-code-editor-surface .cm-editor,
body.b-theme-classic-dark .sm-code-editor-surface .cm-editor {
  background: rgb(21, 24, 32);
  color: rgb(245, 247, 252);
}

body.motif-theme-dark .sm-code-editor-surface .cm-gutters,
body.b-theme-classic-dark .sm-code-editor-surface .cm-gutters {
  background: rgb(21, 24, 32);
  color: rgba(236, 236, 244, 0.72);
  border-right: 1px solid rgba(242, 242, 248, 0.18);
}

body.motif-theme-dark .sm-code-editor-surface .cm-activeLine,
body.b-theme-classic-dark .sm-code-editor-surface .cm-activeLine,
body.motif-theme-dark .sm-code-editor-surface .cm-activeLineGutter,
body.b-theme-classic-dark .sm-code-editor-surface .cm-activeLineGutter {
  background: rgba(166, 198, 255, 0.08);
}

.sm-checkbox-row {
  display: flex;
  gap: 14px;
  flex-wrap: wrap;
  font-size: 13px;
}

.sm-checkbox-row label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.sm-inline-toggle {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.sm-ref-callout,
.sm-test-result {
  padding: 10px 12px;
  border: 1px solid var(--sm-border);
  border-radius: var(--sm-radius);
  background: var(--sm-surface-alt);
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.sm-inline-error {
  margin-top: 8px;
}

.sm-delete-modal {
  display: grid;
  gap: 14px;
}

.sm-delete-modal__intro {
  font-size: 14px;
  line-height: 1.5;
  color: var(--sm-text);
}

.sm-delete-modal__warning {
  font-size: 12px;
  font-weight: 700;
  color: var(--sm-muted);
}

@media (max-width: 1200px) {
  .sm-document__header,
  .sm-document__notice {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
  }
}

@media (max-width: 720px) {
  .sm-document__header,
  .sm-document__notice {
    grid-template-columns: 1fr;
    display: flex;
    flex-direction: column;
  }
}

/* Nested property drill-in additions */
.sm-property-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 2px;
  font-size: 12px;
  margin-bottom: 4px;
  color: var(--motif-text-secondary, #666);
}
.sm-property-breadcrumb__sep {
  opacity: 0.6;
}
.sm-property-breadcrumb__current {
  font-weight: 600;
  color: var(--motif-text-primary, #222);
}

.sm-nested-properties {
  display: flex;
  flex-direction: column;
  gap: 6px;
}
.sm-nested-property-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 6px 8px;
  border: 1px solid var(--motif-border-color, #e0e0e0);
  border-radius: 4px;
  background: var(--motif-card-bg, #fff);
}
.sm-nested-property-row__main {
  display: flex;
  flex-direction: column;
  gap: 2px;
  min-width: 0;
}
.sm-nested-property-row__meta {
  font-size: 11px;
  color: var(--motif-text-secondary, #666);
}
.sm-nested-property-row__meta code {
  font-family: var(--motif-font-mono, monospace);
}

/* ==========================================
 * UI Schema record management modals + meta editor
 * Modal must use top-level/global selectors because Motif portals dialogs to
 * the app root. We render lightweight backdrop+panel divs (not MotifModal) to
 * avoid scoping pain. Designer dialog uses z-index 1000 (UiSchemaDesignerDialog.css);
 * keep these backdrops above that so add/delete confirms can sit on top.
 * ========================================== */
.sm-ui-schema-modal-backdrop {
  position: fixed;
  inset: 0;
  background-color: rgba(0, 0, 0, 0.55);
  z-index: 1100;
  display: flex;
  align-items: center;
  justify-content: center;
}
.sm-ui-schema-modal {
  background-color: var(--motif-surface, #fff);
  color: var(--motif-text, inherit);
  border-radius: 8px;
  box-shadow: 0 12px 32px rgba(0, 0, 0, 0.35);
  min-width: 420px;
  max-width: 560px;
  width: 90vw;
  max-height: 80vh;
  display: flex;
  flex-direction: column;
}
.sm-ui-schema-modal__header {
  padding: 16px 20px;
  border-bottom: 1px solid var(--motif-border, #ddd);
  font-size: 16px;
  font-weight: 600;
}
.sm-ui-schema-modal__body {
  padding: 16px 20px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  overflow: auto;
}
.sm-ui-schema-modal__footer {
  padding: 12px 20px;
  border-top: 1px solid var(--motif-border, #ddd);
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
.sm-ui-schema-modal__hint {
  font-size: 12px;
  color: var(--motif-text-secondary, #666);
}
.sm-ui-schema-modal__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.sm-ui-schema-modal__field label {
  font-size: 12px;
  font-weight: 600;
  color: var(--motif-text-secondary, #666);
}
.sm-ui-schema-modal__field input,
.sm-ui-schema-modal__field select,
.sm-ui-schema-modal__field textarea {
  padding: 6px 8px;
  border: 1px solid var(--motif-border, #ccc);
  border-radius: 4px;
  font: inherit;
  background: var(--motif-input-bg, #fff);
  color: inherit;
}

/* Meta editor row above the raw editor */
.sm-ui-schema-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  padding: 12px;
  border: 1px solid var(--motif-border, #ddd);
  border-radius: 6px;
  background: var(--motif-surface-subtle, #f7f7f7);
  margin-bottom: 12px;
}
.sm-ui-schema-meta__row {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  width: 100%;
}
.sm-ui-schema-meta__field {
  display: flex;
  flex-direction: column;
  gap: 4px;
  flex: 1 1 200px;
  min-width: 180px;
}
.sm-ui-schema-meta__field--toggle {
  flex-direction: row;
  align-items: center;
  flex: 0 0 auto;
}
.sm-ui-schema-meta__field--locked input,
.sm-ui-schema-meta__field--locked select {
  background: var(--motif-surface-disabled, #eee);
  cursor: not-allowed;
}
.sm-ui-schema-meta__label {
  font-size: 12px;
  font-weight: 600;
  color: var(--motif-text-secondary, #666);
}
.sm-ui-schema-meta__input {
  padding: 6px 8px;
  border: 1px solid var(--motif-border, #ccc);
  border-radius: 4px;
  font: inherit;
  background: var(--motif-input-bg, #fff);
  color: inherit;
}
.sm-ui-schema-meta__hint {
  font-size: 11px;
  color: var(--motif-text-secondary, #666);
  font-style: italic;
}
.supplier-checklist {
  display: flex;
  flex-direction: column;
  width: 300px;
  background: var(--ag-background-color, #fff);
  color: var(--ag-foreground-color, inherit);
  border: 1px solid var(--ag-border-color, #c4c4cd);
  border-radius: 4px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.18);
}
.supplier-checklist__search {
  padding: 8px 8px 4px;
}
.supplier-checklist__list {
  max-height: 240px;
  overflow-y: auto;
  padding: 4px 8px;
}
.supplier-checklist__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  min-height: 28px;
}
.supplier-checklist__primary {
  flex-shrink: 0;
  padding: 0 8px;
  border: 1px solid currentColor;
  border-radius: 10px;
  font-size: 11px;
  line-height: 16px;
}
.supplier-checklist__empty {
  padding: 8px 0;
  opacity: 0.6;
}
.supplier-checklist__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 8px;
  border-top: 1px solid var(--ag-border-color, #c4c4cd);
  font-size: 12px;
}/* Docked, collapsible Rate Configuration panel (Budget Items page). */
/* Shared rate-basis "chips" cell styling.
   Used by the Budget Items page grid and the Cost Estimate side "Budget Items" grid so the two
   stay identical. Import this partial wherever <RateBasisChips> is rendered. */
.rate-basis-cell {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  overflow: hidden;
}
.rate-basis-cell .rate-basis-scroll {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.rate-basis-cell .rate-basis-chip,
.rate-basis-cell .rate-basis-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 1px 9px;
  border-radius: 10px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid transparent;
}
.rate-basis-cell .rate-basis-chip {
  background-color: rgba(53, 164, 232, 0.15);
  color: #35a4e8;
  border-color: rgba(53, 164, 232, 0.3);
}
.rate-basis-cell .rate-basis-badge {
  background-color: transparent;
  color: var(--neutral-600, #6b7280);
  border-color: var(--neutral-400, #9ca3af);
}

/* Theme tokens: light defaults here, re-declared for dark mode at the bottom of this file. */
.rate-dock {
  --rd-surface: #fff;
  --rd-subtle: #f9fafb;
  --rd-hover: #f3f4f6;
  --rd-ink: #2e2e38;
  --rd-ink-2: #4b5563;
  --rd-muted: #6b7280;
  --rd-faint: #9ca3af;
  --rd-line: #e5e7eb;
  --rd-line-strong: #d1d5db;
  --rd-error-ink: #b91c1c;
  --rd-error-bg: #fef2f2;
  --rd-error-line: #fecaca;
  --rd-chip-selected-ink: #b45309;
  --rd-chip-selected-bg: #fffbeb;
  --rd-badge-active-bg: #dcfce7;
  --rd-badge-active-ink: #166534;
  --rd-badge-future-bg: #e0e7ff;
  --rd-badge-future-ink: #3730a3;
  --rd-info-bg: #eff6ff;
  --rd-info-line: #bfdbfe;
  --rd-info-ink: #1e40af;
  --rd-info-dot-bg: #dbeafe;
  --rd-info-dot-line: #60a5fa;
  --rd-info-dot-ink: #1d4ed8;
  display: flex;
  flex-direction: column;
  width: 560px;
  flex-shrink: 0;
  height: 100%;
  position: relative;
  background: var(--rd-surface);
  color: var(--rd-ink);
  border-left: 1px solid var(--rd-line);
  overflow: hidden;
}
.rate-dock.collapsed {
  width: 40px;
}

/* Drag handle on the left edge to widen/narrow the dock */
.rate-dock-resizer {
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  width: 6px;
  cursor: col-resize;
  z-index: 6;
  background: transparent;
  transition: background-color 0.15s ease;
}
.rate-dock-resizer:hover, .rate-dock-resizer:active {
  background: var(--rd-line-strong);
}

/* Collapsed rail */
.rate-dock-rail {
  width: 40px;
  height: 100%;
  border: none;
  background: var(--rd-subtle);
  cursor: pointer;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 10px;
  padding-top: 14px;
  color: var(--rd-ink-2);
}
.rate-dock-rail:hover {
  background: var(--rd-hover);
}
.rate-dock-rail .rate-dock-rail-label {
  writing-mode: vertical-rl;
  text-orientation: mixed;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
}

/* Header */
.rate-dock-header {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 16px 16px 12px;
  border-bottom: 1px solid var(--rd-line);
}
.rate-dock-header .rate-dock-heading {
  flex: 1;
  min-width: 0;
}
.rate-dock-header .rate-dock-heading h2 {
  margin: 0;
  font-size: 16px;
  font-weight: 700;
  color: var(--rd-ink);
}
.rate-dock-header .rate-dock-heading .rate-dock-sub {
  margin-top: 2px;
  font-size: 12px;
  color: var(--rd-muted);
}
.rate-dock-header .rate-dock-collapse {
  border: none;
  background: transparent;
  cursor: pointer;
  color: var(--rd-muted);
  padding: 4px;
  border-radius: 4px;
}
.rate-dock-header .rate-dock-collapse:hover {
  background: var(--rd-hover);
}

.rate-dock-empty {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 32px;
  text-align: center;
  font-size: 13px;
  color: var(--rd-muted);
}

/* Scrollable body */
.rate-dock-body {
  flex: 1;
  overflow: auto;
  padding: 16px;
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.rate-dock-status {
  font-size: 13px;
  color: var(--rd-muted);
  padding: 8px 0;
}

.rate-dock-loading {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 240px;
}

.rate-dock-error {
  font-size: 13px;
  color: var(--rd-error-ink);
  background: var(--rd-error-bg);
  border: 1px solid var(--rd-error-line);
  border-radius: 4px;
  padding: 8px 12px;
  margin-bottom: 12px;
}

.rate-dock-hint {
  font-size: 11px;
  color: var(--rd-muted);
}

/* Section labels + count tags */
.rate-dock-section-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 4px 0 8px;
  font-size: 13px;
  font-weight: 600;
  color: var(--rd-ink);
}
.rate-dock-section-label--split {
  justify-content: space-between;
}
.rate-dock-section-label .rate-dock-section-actions {
  display: flex;
  gap: 6px;
  align-items: center;
}

.rate-count-tag {
  display: inline-block;
  margin-left: 6px;
  padding: 1px 8px;
  border-radius: 10px;
  background: var(--rd-hover);
  color: var(--rd-ink-2);
  font-size: 11px;
  font-weight: 600;
}

/* Differentiator multi-select */
.rate-dock-dim-select {
  margin-bottom: 16px;
}

.rate-dim-chipgroup {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 8px;
  max-height: 132px;
  overflow-y: auto;
}

/* Differentiator toggle chips (legacy) */
.rate-dock-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--rd-line);
  border-radius: 6px;
  margin-bottom: 16px;
  max-height: 168px;
  overflow-y: auto;
}

.rate-chip {
  border: 1px dashed var(--rd-line-strong);
  background: var(--rd-surface);
  color: var(--rd-ink);
  border-radius: 14px;
  padding: 4px 12px;
  font-size: 12px;
  font-weight: 600;
  cursor: pointer;
}
.rate-chip:hover {
  background: var(--rd-subtle);
}
.rate-chip.selected {
  border-style: solid;
  border-color: var(--rd-chip-selected-ink);
  background: var(--rd-chip-selected-bg);
  color: var(--rd-chip-selected-ink);
}

/* Rate schedule grid */
.rate-schedule-grid {
  width: 100%;
  height: 260px;
  min-height: 260px;
  flex: 0 0 auto;
  margin-bottom: 8px;
}

.rate-grid-empty {
  font-size: 12px;
  color: var(--rd-muted);
}

.rate-status-badge {
  display: inline-block;
  padding: 1px 8px;
  border-radius: 10px;
  font-size: 11px;
  font-weight: 600;
}
.rate-status-badge.active {
  background: var(--rd-badge-active-bg);
  color: var(--rd-badge-active-ink);
}
.rate-status-badge.future {
  background: var(--rd-badge-future-bg);
  color: var(--rd-badge-future-ink);
}
.rate-status-badge.superseded {
  background: var(--rd-hover);
  color: var(--rd-muted);
}
.rate-status-badge.archived {
  background: var(--rd-hover);
  color: var(--rd-faint);
}

/* Resolution preview (pinned) */
.rate-dock-pinned {
  padding: 12px 16px;
  border-top: 1px solid var(--rd-line);
}

.resolution-box {
  border: 1px solid var(--rd-info-line);
  background: var(--rd-info-bg);
  border-radius: 6px;
  padding: 14px 16px;
}
.resolution-box h4 {
  margin: 0 0 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--rd-info-ink);
  display: flex;
  align-items: center;
  gap: 6px;
}
.resolution-box .info-dot {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  border: 1px solid var(--rd-info-dot-line);
  color: var(--rd-info-dot-ink);
  background: var(--rd-info-dot-bg);
  font-size: 9px;
  font-weight: 700;
  font-style: normal;
  cursor: help;
  flex-shrink: 0;
  /* Tooltip is intentionally dark in both themes. */
}
.resolution-box .info-dot .info-tip {
  position: absolute;
  bottom: calc(100% + 8px);
  left: 50%;
  transform: translateX(-50%);
  width: 280px;
  background: #111827;
  color: #fff;
  padding: 9px 11px;
  border-radius: 5px;
  font-size: 11px;
  font-weight: 400;
  line-height: 1.5;
  text-align: left;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.15s;
  z-index: 50;
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.22);
}
.resolution-box .info-dot .info-tip::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: 5px solid transparent;
  border-top-color: #111827;
}
.resolution-box .info-dot .info-tip strong {
  color: #fbbf24;
}
.resolution-box .info-dot .info-tip em {
  color: #fde68a;
  font-style: normal;
}
.resolution-box .info-dot:hover .info-tip, .resolution-box .info-dot:focus .info-tip {
  opacity: 1;
  visibility: visible;
}
.resolution-box .resolution-inputs {
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.resolution-box .resolution-row {
  display: flex;
  align-items: center;
  gap: 10px;
}
.resolution-box .resolution-row label {
  width: 118px;
  flex-shrink: 0;
  font-size: 11px;
  font-weight: 600;
  color: var(--rd-ink-2);
}
.resolution-box .resolution-result {
  margin-top: 12px;
  padding: 10px 14px;
  background: var(--rd-surface);
  border: 1px solid var(--rd-line);
  border-radius: 4px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 12px;
}
.resolution-box .resolution-result .why {
  font-size: 11px;
  color: var(--rd-ink-2);
  line-height: 1.4;
}
.resolution-box .resolution-result .amount {
  font-size: 20px;
  font-weight: 700;
  white-space: nowrap;
  color: var(--rd-ink);
}

/* Footer */
.rate-dock-header-actions {
  display: flex;
  align-items: center;
  gap: 12px;
}

/*
 * Dark theme. Motif does not flip these surface tokens globally on every route, so re-declare the
 * drawer tokens plus the Motif / AG Grid tokens for this subtree (same approach as Cost Assumptions).
 */
body.motif-theme-dark .rate-dock {
  --rd-surface: #23232f;
  --rd-subtle: #1a1a24;
  --rd-hover: #33333e;
  --rd-ink: #f0f0f5;
  --rd-ink-2: #c4c4cd;
  --rd-muted: #a8a8b4;
  --rd-faint: #8e8e9a;
  --rd-line: #33333e;
  --rd-line-strong: #4a4a56;
  --rd-error-ink: #fca5a5;
  --rd-error-bg: rgba(220, 38, 38, 0.14);
  --rd-error-line: rgba(220, 38, 38, 0.45);
  --rd-chip-selected-ink: #f2b45f;
  --rd-chip-selected-bg: rgba(232, 131, 12, 0.16);
  --rd-badge-active-bg: rgba(34, 197, 94, 0.18);
  --rd-badge-active-ink: #86efac;
  --rd-badge-future-bg: rgba(99, 102, 241, 0.22);
  --rd-badge-future-ink: #c7d2fe;
  --rd-info-bg: rgba(59, 130, 246, 0.12);
  --rd-info-line: rgba(96, 165, 250, 0.4);
  --rd-info-ink: #93c5fd;
  --rd-info-dot-bg: rgba(59, 130, 246, 0.25);
  --rd-info-dot-line: #60a5fa;
  --rd-info-dot-ink: #bfdbfe;
  --motif-text-color-primary: #f0f0f5;
  --motif-text-color-secondary: #a8a8b4;
  --motif-text-color-muted: #8e8e9a;
  --motif-background-color: #1a1a24;
  --motif-background-color-card: #23232f;
  --motif-background-color-hover: #33333e;
  --motif-border-color: #33333e;
  --ag-background-color: #23232f;
  --ag-foreground-color: #f0f0f5;
  --ag-header-background-color: #1a1a24;
  --ag-header-text-color: #f0f0f5;
  --ag-odd-row-background-color: rgba(255, 255, 255, 0.02);
  --ag-row-hover-color: rgba(255, 255, 255, 0.05);
  --ag-border-color: #33333e;
  --ag-control-panel-background-color: #23232f;
  --ag-input-border-color: #3d3d47;
}/* Clickable Rate Basis chip (Budget Items grid); mirrors the Resource & Calendar link cells. */
/* Shared rate-basis "chips" cell styling.
   Used by the Budget Items page grid and the Cost Estimate side "Budget Items" grid so the two
   stay identical. Import this partial wherever <RateBasisChips> is rendered. */
.rate-basis-cell {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 100%;
  overflow: hidden;
}
.rate-basis-cell .rate-basis-scroll {
  display: flex;
  align-items: center;
  gap: 5px;
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
}
.rate-basis-cell .rate-basis-chip,
.rate-basis-cell .rate-basis-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  padding: 1px 9px;
  border-radius: 10px;
  font-size: 10.5px;
  font-weight: 600;
  line-height: 1.5;
  white-space: nowrap;
  border: 1px solid transparent;
}
.rate-basis-cell .rate-basis-chip {
  background-color: rgba(53, 164, 232, 0.15);
  color: #35a4e8;
  border-color: rgba(53, 164, 232, 0.3);
}
.rate-basis-cell .rate-basis-badge {
  background-color: transparent;
  color: var(--neutral-600, #6b7280);
  border-color: var(--neutral-400, #9ca3af);
}

motif-button.rate-basis-link-button {
  min-width: 0;
  max-width: 100%;
}

motif-button.rate-basis-link-button::part(button) {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  max-width: 100%;
  height: 28px;
  min-height: 28px;
  padding: 0 6px 0 4px;
  border: 1px solid transparent;
  border-radius: 14px;
  background: transparent;
  color: var(--library-muted, #656579);
  font-weight: 400;
  line-height: 1;
  white-space: nowrap;
  text-decoration: none;
}

motif-button.rate-basis-link-button:hover::part(button) {
  background: var(--library-hover, #f3f3f5);
  border-color: var(--library-card-border-hover, #c3c3cb);
}

.rate-basis-link-button .rate-basis-scroll {
  min-width: 0;
}
.rate-basis-link-button motif-icon {
  display: inline-flex;
  flex: 0 0 auto;
}

.rate-basis-link-muted {
  color: var(--library-muted, #656579);
  font-size: 12px;
  font-style: italic;
}