@charset "UTF-8";
/* line 1, app/assets/stylesheets/ads/colors.scss */
:root {
  /* Sky */
  --lupin-color-rgb-sky: 58, 172, 236;
  --lupin-color-rgb-sky-900: 34, 105, 136;
  --lupin-color-rgb-sky-800: 40, 122, 161;
  --lupin-color-rgb-sky-700: 46, 138, 186;
  --lupin-color-rgb-sky-600: 52, 155, 211;
  --lupin-color-rgb-sky-500: 58, 172, 236;
  --lupin-color-rgb-sky-400: 64, 199, 239;
  --lupin-color-rgb-sky-300: 112, 213, 243;
  --lupin-color-rgb-sky-200: 160, 227, 247;
  --lupin-color-rgb-sky-100: 208, 241, 251;
  --lupin-color-rgb-sky-50: 231, 248, 253;
  --lupin-color-sky: rgb(var(--lupin-color-rgb-sky));
  --lupin-color-sky-900: rgb(var(--lupin-color-rgb-sky-900));
  --lupin-color-sky-800: rgb(var(--lupin-color-rgb-sky-800));
  --lupin-color-sky-700: rgb(var(--lupin-color-rgb-sky-700));
  --lupin-color-sky-600: rgb(var(--lupin-color-rgb-sky-600));
  --lupin-color-sky-500: rgb(var(--lupin-color-rgb-sky-500));
  --lupin-color-sky-400: rgb(var(--lupin-color-rgb-sky-400));
  --lupin-color-sky-300: rgb(var(--lupin-color-rgb-sky-300));
  --lupin-color-sky-200: rgb(var(--lupin-color-rgb-sky-200));
  --lupin-color-sky-100: rgb(var(--lupin-color-rgb-sky-100));
  --lupin-color-sky-50:  rgb(var(--lupin-color-rgb-sky-50));
  /* Violet */
  --lupin-color-rgb-violet: 39, 60, 140;
  --lupin-color-rgb-violet-900: 30, 48, 115;
  --lupin-color-rgb-violet-800: 34, 55, 130;
  --lupin-color-rgb-violet-600: 70, 87, 160;
  --lupin-color-rgb-violet-500: 102, 115, 179;
  --lupin-color-rgb-violet-400: 134, 143, 199;
  --lupin-color-rgb-violet-300: 165, 171, 218;
  --lupin-color-rgb-violet-200: 197, 199, 230;
  --lupin-color-rgb-violet-100: 228, 227, 242;
  --lupin-color-rgb-violet-50: 243, 242, 250;
  --lupin-color-violet: rgb(var(--lupin-color-rgb-violet));
  --lupin-color-violet-900: rgb(var(--lupin-color-rgb-violet-900));
  --lupin-color-violet-800: rgb(var(--lupin-color-rgb-violet-800));
  --lupin-color-violet-600: rgb(var(--lupin-color-rgb-violet-600));
  --lupin-color-violet-500: rgb(var(--lupin-color-rgb-violet-500));
  --lupin-color-violet-400: rgb(var(--lupin-color-rgb-violet-400));
  --lupin-color-violet-300: rgb(var(--lupin-color-rgb-violet-300));
  --lupin-color-violet-200: rgb(var(--lupin-color-rgb-violet-200));
  --lupin-color-violet-100: rgb(var(--lupin-color-rgb-violet-100));
  --lupin-color-violet-50:  rgb(var(--lupin-color-rgb-violet-50));
  /* White */
  --lupin-color-rgb-white: 255, 255, 255;
  --lupin-color-white: rgb(var(--lupin-color-rgb-white));
  /* Black */
  --lupin-color-rgb-black: 0, 0, 0;
  --lupin-color-black: rgb(var(--lupin-color-rgb-black));
  --lupin-color-black-a95: rgba(var(--lupin-color-rgb-black), 0.95);
  --lupin-color-black-a90: rgba(var(--lupin-color-rgb-black), 0.90);
  --lupin-color-black-a80: rgba(var(--lupin-color-rgb-black), 0.80);
  --lupin-color-black-a70: rgba(var(--lupin-color-rgb-black), 0.70);
  --lupin-color-black-a20: rgba(var(--lupin-color-rgb-black), 0.20);
  --lupin-color-black-a10: rgba(var(--lupin-color-rgb-black), 0.10);
  /* Rose */
  --lupin-color-rgb-rose: 242, 80, 86;
  --lupin-color-rgb-rose-900: 180, 60, 64;
  --lupin-color-rgb-rose-800: 200, 66, 71;
  --lupin-color-rgb-rose-700: 220, 72, 77;
  --lupin-color-rgb-rose-600: 230, 76, 82;
  --lupin-color-rgb-rose-500: 242, 80, 86;
  --lupin-color-rgb-rose-400: 247, 110, 115;
  --lupin-color-rgb-rose-300: 250, 140, 144;
  --lupin-color-rgb-rose-200: 252, 170, 173;
  --lupin-color-rgb-rose-100: 254, 210, 212;
  --lupin-color-rgb-rose-50: 255, 240, 241;
  --lupin-color-rose: rgb(var(--lupin-color-rgb-rose));
  --lupin-color-rose-900: rgb(var(--lupin-color-rgb-rose-900));
  --lupin-color-rose-800: rgb(var(--lupin-color-rgb-rose-800));
  --lupin-color-rose-700: rgb(var(--lupin-color-rgb-rose-700));
  --lupin-color-rose-600: rgb(var(--lupin-color-rgb-rose-600));
  --lupin-color-rose-500: rgb(var(--lupin-color-rgb-rose-500));
  --lupin-color-rose-400: rgb(var(--lupin-color-rgb-rose-400));
  --lupin-color-rose-300: rgb(var(--lupin-color-rgb-rose-300));
  --lupin-color-rose-200: rgb(var(--lupin-color-rgb-rose-200));
  --lupin-color-rose-100: rgb(var(--lupin-color-rgb-rose-100));
  --lupin-color-rose-50:  rgb(var(--lupin-color-rgb-rose-50));
  /* Gray */
  --lupin-color-rgb-gray-950: 17, 24, 39;
  --lupin-color-rgb-gray-900: 43, 48, 62;
  --lupin-color-rgb-gray-800: 67, 72, 89;
  --lupin-color-rgb-gray-700: 90, 94, 112;
  --lupin-color-rgb-gray-600: 114, 117, 134;
  --lupin-color-rgb-gray-500: 138, 139, 154;
  --lupin-color-rgb-gray-400: 158, 160, 172;
  --lupin-color-rgb-gray-300: 178, 180, 191;
  --lupin-color-rgb-gray-200: 199, 201, 210;
  --lupin-color-rgb-gray-100: 219, 222, 228;
  --lupin-color-rgb-gray-50: 237, 241, 244;
  --lupin-color-gray-950: rgb(var(--lupin-color-rgb-gray-950));
  --lupin-color-gray-900: rgb(var(--lupin-color-rgb-gray-900));
  --lupin-color-gray-800: rgb(var(--lupin-color-rgb-gray-800));
  --lupin-color-gray-700: rgb(var(--lupin-color-rgb-gray-700));
  --lupin-color-gray-600: rgb(var(--lupin-color-rgb-gray-600));
  --lupin-color-gray-500: rgb(var(--lupin-color-rgb-gray-500));
  --lupin-color-gray-400: rgb(var(--lupin-color-rgb-gray-400));
  --lupin-color-gray-300: rgb(var(--lupin-color-rgb-gray-300));
  --lupin-color-gray-200: rgb(var(--lupin-color-rgb-gray-200));
  --lupin-color-gray-100: rgb(var(--lupin-color-rgb-gray-100));
  --lupin-color-gray-50: rgb(var(--lupin-color-rgb-gray-50));
  /* Green */
  --lupin-color-rgb-green-950: 4, 70, 50;
  --lupin-color-rgb-green-900: 6, 99, 71;
  --lupin-color-rgb-green-800: 0, 140, 98;
  --lupin-color-rgb-green-700: 0, 191, 134;
  --lupin-color-rgb-green-600: 1, 224, 142;
  --lupin-color-rgb-green-500: 0, 255, 149;
  --lupin-color-rgb-green-400: 94, 255, 189;
  --lupin-color-rgb-green-300: 184, 255, 226;
  --lupin-color-rgb-green-200: 213, 255, 238;
  --lupin-color-rgb-green-100: 229, 255, 244;
  --lupin-color-rgb-green-50: 241, 255, 249;
  --lupin-color-green-950: rgb(var(--lupin-color-rgb-green-950));
  --lupin-color-green-900: rgb(var(--lupin-color-rgb-green-900));
  --lupin-color-green-800: rgb(var(--lupin-color-rgb-green-800));
  --lupin-color-green-700: rgb(var(--lupin-color-rgb-green-700));
  --lupin-color-green-600: rgb(var(--lupin-color-rgb-green-600));
  --lupin-color-green-500: rgb(var(--lupin-color-rgb-green-500));
  --lupin-color-green-400: rgb(var(--lupin-color-rgb-green-400));
  --lupin-color-green-300: rgb(var(--lupin-color-rgb-green-300));
  --lupin-color-green-200: rgb(var(--lupin-color-rgb-green-200));
  --lupin-color-green-100: rgb(var(--lupin-color-rgb-green-100));
  --lupin-color-green-50: rgb(var(--lupin-color-rgb-green-50));
  --lupin-color-rgb-primary-900: 45, 90, 130;
  --lupin-color-rgb-primary-500: 62, 123, 171;
  --lupin-color-rgb-primary-300: 144, 182, 213;
  --lupin-color-primary-900: rgb(var(--lupin-color-rgb-primary-900));
  --lupin-color-primary-500: rgb(var(--lupin-color-rgb-primary-500));
  --lupin-color-primary-300: rgb(var(--lupin-color-rgb-primary-300));
}

/* line 150, app/assets/stylesheets/ads/colors.scss */
.bg-chemman {
  background-color: var(--lupin-color-sky);
}

/* line 154, app/assets/stylesheets/ads/colors.scss */
.bg-chemman-light {
  background-color: var(--lupin-color-sky-300);
}

/* line 158, app/assets/stylesheets/ads/colors.scss */
.bg-chemman-dark {
  background-color: var(--lupin-color-primary-500);
}

/* line 162, app/assets/stylesheets/ads/colors.scss */
.bg-asbman {
  background-color: var(--lupin-color-violet);
}

/* line 165, app/assets/stylesheets/ads/colors.scss */
.bg-asbman-light {
  background-color: var(--lupin-color-violet-300);
}

/* line 169, app/assets/stylesheets/ads/colors.scss */
.text-chemman {
  color: var(--lupin-color-sky);
}

/* line 173, app/assets/stylesheets/ads/colors.scss */
.text-chemman-dark {
  color: var(--lupin-color-sky-700);
}

/* line 177, app/assets/stylesheets/ads/colors.scss */
.text-chemman-darker {
  color: var(--lupin-color-sky-900);
}

/* line 182, app/assets/stylesheets/ads/colors.scss */
.text-asbman {
  color: var(--lupin-color-violet);
}

/* line 186, app/assets/stylesheets/ads/colors.scss */
.border-asbman {
  border-color: var(--lupin-color-violet);
}

/* line 1, app/assets/stylesheets/ads/shadow.scss */
:root {
  --lupin-shadow-none: 0px 0px 0px 0px rgba(var(--lupin-color-rgb-black), 0.00);
  --lupin-shadow-sm: 0px 1px 1px 0px rgba(var(--lupin-shadow-color, var(--lupin-color-rgb-gray-800)), 0.08);
  --lupin-shadow-md: 0px 2px 2px 0px rgba(var(--lupin-shadow-color, var(--lupin-color-rgb-gray-800)), 0.12);
  --lupin-shadow-lg: 0px 4px 16px -2px rgba(var(--lupin-shadow-color, var(--lupin-color-rgb-gray-800)), 0.12);
  --lupin-shadow-xl: 0px 8px 20px -2px rgba(var(--lupin-shadow-color, var(--lupin-color-rgb-gray-800)), 0.12);
  --lupin-shadow-2xl: 0px 12px 28px 0px rgba(var(--lupin-shadow-color, var(--lupin-color-rgb-gray-800)), 0.16);
}

/* line 1, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn {
  cursor: var(--lupin-btn-cursor, pointer);
  line-height: var(--lupin-btn-line-height);
  background-color: var(--lupin-btn-bg);
  color: var(--lupin-btn-color, var(--lupin-color-white));
  border: var(--lupin-btn-border-size, 1px) solid var(--lupin-btn-border-color);
  min-height: var(--lupin-btn-min-height, 36px);
  border-radius: var(--lupin-btn-border-radius, 4px);
  box-shadow: var(--lupin-btn-shadow);
  cursor: var(--lupin-btn-cursor, pointer);
  /* Icons */
}

/* line 13, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn svg path {
  stroke-width: var(--lupin-btn-stroke-width, 1.5);
  stroke: var(--lupin-btn-icon-stroke-color);
}

/* line 19, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--chemman {
  --lupin-btn-bg: var(--lupin-color-sky);
}

/* line 21, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--chemman:hover {
  --lupin-btn-bg: var(--lupin-color-sky-600);
}

/* line 26, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--asbman {
  --lupin-btn-bg: var(--lupin-color-violet);
}

/* line 28, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--asbman:hover {
  --lupin-btn-bg: var(--lupin-color-violet-900);
}

/* line 33, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--destructive {
  --lupin-btn-bg: var(--lupin-color-rose-300);
  --lupin-btn-border-color: var(--lupin-color-rose-300);
  --lupin-btn-color: var(--lupin-color-white);
}

/* line 38, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--destructive:hover {
  --lupin-btn-bg: var(--lupin-color-rose-800);
  --lupin-btn-border-color: var(--lupin-color-rose-800);
}

/* line 43, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--destructive:focus-visible {
  outline: 2px solid var(--lupin-color-rose-800);
  outline-offset: 2px;
}

/* line 49, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--chemman-ghost {
  --lupin-btn-bg: var(--lupin-color-white);
  --lupin-btn-color: var(--lupin-color-gray-700);
  --lupin-btn-border-color: var(--lupin-color-sky);
}

/* line 53, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--chemman-ghost:hover {
  --lupin-btn-bg: var(--lupin-color-sky);
  --lupin-btn-color: var(--lupin-color-white);
}

/* line 59, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--asbman-ghost {
  --lupin-btn-bg: var(--lupin-color-white);
  --lupin-btn-color: var(--lupin-color-gray-700);
  --lupin-btn-border-color: var(--lupin-color-violet);
}

/* line 63, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--asbman-ghost:hover {
  --lupin-btn-bg: var(--lupin-color-violet);
  --lupin-btn-color: var(--lupin-color-white);
}

/* line 69, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--tertiary {
  background: linear-gradient(to right, #6366f1, #8b5cf6);
}

/* line 71, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--tertiary:hover {
  background: linear-gradient(to right, #4f46e5, #7c3aed);
}

/* line 76, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--tertiary-chemman {
  font-weight: 500;
}

/* line 78, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--tertiary-chemman:hover {
  color: #2e6ba0;
  background: linear-gradient(to right, #cee7f8, #9cd4fa);
}

/* line 85, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--tertiary-asbman:hover {
  background: linear-gradient(to right, #4f46e5, #7c3aed);
}

/* line 91, app/assets/stylesheets/ads/buttons.scss */
.asbman-segmented .lupin-btn--segmented.active {
  border-bottom: var(--lupin-btn-segmented-border-size, 2px) solid var(--lupin-btn-segmented-border-color, #3c4ea6);
}

/* line 97, app/assets/stylesheets/ads/buttons.scss */
.chemman-segmented .lupin-btn--segmented.active {
  border-bottom: var(--lupin-btn-segmented-border-size, 2px) solid var(--lupin-btn-segmented-border-color, #3d7bab);
}

/* line 102, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--segmented.active {
  border-bottom: var(--lupin-btn-segmented-border-size, 2px) solid var(--lupin-btn-segmented-border-color, var(--lupin-color-sky));
}

/* line 106, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--save {
  --lupin-btn-bg: var(--lupin-color-green-800);
  --lupin-btn-border-color: var(--lupin-color-green-800);
  --lupin-btn-color: var(--lupin-color-white);
}

/* line 110, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--save:hover {
  --lupin-btn-bg: var(--lupin-color-green-900);
  --lupin-btn-border-color: var(--lupin-color-green-900);
}

/* line 116, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--ghost {
  --lupin-btn-color: var(--lupin-color-gray-800);
  --lupin-btn-bg: var(--lupin-color-white);
  --lupin-btn-border-color: var(--lupin-color-gray-200);
}

/* line 120, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--ghost:hover {
  --lupin-btn-bg: var(--lupin-color-gray-900);
  --lupin-btn-color: var(--lupin-color-white);
  --lupin-btn-shadow: var(--lupin-shadow-sm);
  --lupin-btn-icon-stroke-color: var(--lupin-color-white);
}

/* line 128, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--dark {
  --lupin-btn-bg: var(--lupin-color-gray-900);
  --lupin-btn-border-color: var(--lupin-color-gray-900);
  --lupin-btn-color: var(--lupin-color-white);
  --lupin-btn-icon-stroke-color: var(--lupin-color-white);
}

/* line 133, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--dark:hover {
  --lupin-btn-bg: var(--lupin-color-gray-800);
  --lupin-btn-border-color: var(--lupin-color-gray-800);
}

/* line 139, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--special {
  --lupin-btn-bg: var(--lupin-color-white);
  --lupin-btn-border-color: var(--lupin-color-gray-200);
  --lupin-btn-color: var(--lupin-color-sky-900);
}

/* line 143, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--special:hover, .lupin-btn--special:focus {
  --lupin-btn-border-color: var(--lupin-color-sky-900);
}

/* line 149, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--attention {
  --lupin-btn-bg: var(--lupin-color-white);
  --lupin-btn-color: #92400e;
  --lupin-btn-border-color: #f59e0b;
  --lupin-btn-shadow: 0 0 0 3px rgba(251, 191, 36, 0.22);
  --lupin-btn-icon-stroke-color: #d97706;
}

/* line 156, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--attention:hover, .lupin-btn--attention:focus {
  --lupin-btn-bg: #fffbeb;
  --lupin-btn-color: #78350f;
  --lupin-btn-border-color: #d97706;
  --lupin-btn-shadow: 0 0 0 4px rgba(251, 191, 36, 0.28);
  --lupin-btn-icon-stroke-color: #b45309;
}

/* line 170, app/assets/stylesheets/ads/buttons.scss */
.lupin-highlight-box {
  padding: 1rem;
  margin: -1rem;
  border-radius: 0.5rem;
  outline: 2px solid #f59e0b;
  outline-offset: 4px;
  animation: lupin-highlight-box-pulse 1.4s ease-in-out 3;
}

@keyframes lupin-highlight-box-pulse {
  0%,
100% {
    outline-color: rgba(245, 158, 11, 0.9);
    box-shadow: 0 0 0 0 rgba(251, 191, 36, 0.35);
  }
  50% {
    outline-color: rgba(245, 158, 11, 0.35);
    box-shadow: 0 0 0 6px rgba(251, 191, 36, 0.15);
  }
}

/* line 191, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn-xxs {
  --lupin-btn-min-height: 24px;
  --lupin-btn-line-height: 24px;
}

/* line 196, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn-xs {
  --lupin-btn-min-height: 28px;
  --lupin-btn-line-height: 28px;
}

/* line 201, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn-sm {
  --lupin-btn-min-height: 32px;
  --lupin-btn-line-height: 32px;
}

/* line 207, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--modal-action {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.375rem;
  min-width: 5.5rem;
  padding-inline: 1rem;
  text-align: center;
}

/* line 216, app/assets/stylesheets/ads/buttons.scss */
.lupin-btn--modal-action:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* line 223, app/assets/stylesheets/ads/buttons.scss */
.lupin-icon-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  padding: 0;
  border: none;
  border-radius: 0.25rem;
  line-height: 1;
  cursor: pointer;
  transition: background-color 0.15s ease, color 0.15s ease;
}

/* line 235, app/assets/stylesheets/ads/buttons.scss */
.lupin-icon-btn svg {
  display: block;
  flex-shrink: 0;
}

/* line 241, app/assets/stylesheets/ads/buttons.scss */
.lupin-icon-btn--delete {
  width: 1.25rem;
  height: 1.25rem;
  color: #fff;
  background-color: var(--lupin-color-rose-300);
}

/* line 247, app/assets/stylesheets/ads/buttons.scss */
.lupin-icon-btn--delete svg path {
  stroke: currentColor;
  stroke-width: 2.5;
}

/* line 252, app/assets/stylesheets/ads/buttons.scss */
.lupin-icon-btn--delete:hover {
  background-color: var(--lupin-color-rose-500);
}

/* line 1, app/assets/stylesheets/ads/links.scss */
.lupin-link {
  color: var(--lupin-link-color);
  background-color: var(--lupin-link-bg);
  line-height: var(--lupin-link-line-height);
  cursor: var(--lupin-link-cursor, pointer);
}

/* line 8, app/assets/stylesheets/ads/links.scss */
.lupin-link--chemman {
  --lupin-link-color: var(--lupin-color-sky);
}

/* line 10, app/assets/stylesheets/ads/links.scss */
.lupin-link--chemman:hover {
  --lupin-link-color: var(--lupin-color-sky-800);
}

/* line 15, app/assets/stylesheets/ads/links.scss */
.lupin-link--chemman-dark {
  --lupin-link-color: var(--lupin-color-sky-800);
}

/* line 17, app/assets/stylesheets/ads/links.scss */
.lupin-link--chemman-dark:hover {
  --lupin-link-color: var(--lupin-color-sky-900);
}

/* line 22, app/assets/stylesheets/ads/links.scss */
.lupin-link--asbman {
  --lupin-link-color: var(--lupin-color-violet);
}

/* line 25, app/assets/stylesheets/ads/links.scss */
.lupin-link--asbman:hover {
  --lupin-link-color: var(--lupin-color-violet-900);
}

/* line 30, app/assets/stylesheets/ads/links.scss */
.lupin-link--destructive {
  --lupin-link-color: var(--lupin-color-rose);
}

/* line 33, app/assets/stylesheets/ads/links.scss */
.lupin-link--destructive:hover {
  --lupin-link-color: var(--lupin-color-rose-600);
}

/* line 39, app/assets/stylesheets/ads/links.scss */
.lupin-link--menu a {
  border-bottom: 2px solid transparent;
  line-height: 1.8;
}

/* line 44, app/assets/stylesheets/ads/links.scss */
.lupin-link--menu a.active {
  color: #3c4ea6;
  border-bottom: 2px solid #3c4ea6;
}

/* line 1, app/assets/stylesheets/ads/modal.scss */
:root {
  --lupin-modal-z-index: 1050;
  --lupin-modal-bg: var(--lupin-color-white);
  --lupin-modal-radius: 16px;
  --lupin-modal-shadow: var(--lupin-shadow-2xl);
  --lupin-modal-header-padding: 12px 16px;
  --lupin-modal-header-border: 1px solid var(--lupin-color-gray-200);
  --lupin-modal-header-margin-bottom: 0;
  --lupin-modal-title-size: 14px;
  --lupin-modal-title-weight: var(--lupin-font-weight-semi-bold);
  --lupin-modal-title-color: var(--lupin-color-gray-900);
  --lupin-modal-title-line-height: 1.25;
  --lupin-modal-content-font-size: 12px;
  --lupin-modal-content-line-height: 1.25;
  --lupin-modal-close-radius: 6px;
  --lupin-modal-close-color: var(--lupin-color-gray-500);
  --lupin-modal-close-hover-bg: var(--lupin-color-gray-100);
  --lupin-modal-close-hover-color: var(--lupin-color-gray-700);
  --lupin-modal-close-focus-outline: 2px solid var(--lupin-color-blue-500);
  --lupin-modal-close-focus-offset: 2px;
  --lupin-modal-close-size: 20px;
  --lupin-modal-content-padding: 16px 25px;
  --lupin-modal-footer-padding: 12px 16px;
  --lupin-modal-content-max-height: calc(90vh - 120px);
  --lupin-modal-backdrop-bg: var(--lupin-color-black-a20);
  --lupin-modal-backdrop-blur: 4px;
  --lupin-modal-form-fields-gap: 16px;
  --lupin-modal-actions-margin-top: 0;
}

/* AMP Modal Component Styles */
/* line 33, app/assets/stylesheets/ads/modal.scss */
.lupin-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  align-items: center;
  justify-content: center;
  z-index: var(--lupin-modal-z-index);
  opacity: 0;
  transition: opacity 0.3s ease-in-out;
}

/* line 47, app/assets/stylesheets/ads/modal.scss */
.lupin-modal--open {
  opacity: 1;
}

/* line 51, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: var(--lupin-modal-backdrop-bg);
  backdrop-filter: blur(var(--lupin-modal-backdrop-blur));
}

/* line 61, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container {
  position: relative;
  z-index: 1;
  background: var(--lupin-modal-bg);
  border-radius: var(--lupin-modal-radius);
  box-shadow: var(--lupin-modal-shadow);
  max-width: 90vw;
  max-height: 90vh;
  overflow: hidden;
  transform: scale(0.95);
  transition: transform 0.3s ease-in-out;
}

/* line 74, app/assets/stylesheets/ads/modal.scss */
.lupin-modal--open .lupin-modal__container {
  transform: scale(1);
}

/* line 78, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container--sm {
  width: 400px;
}

/* line 82, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container--md {
  width: 600px;
}

/* line 86, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container--lg {
  width: 800px;
}

/* line 90, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container--xl {
  width: 1000px;
}

/* Store right-hand slide-over drawer (used instead of centered modals in the store area).
   Sits above the Help tab/sidebar (z-index 1050 vs 30/50) and its backdrop covers the
   Help tab while open, so the two never conflict. */
/* line 97, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer {
  position: absolute;
  inset: 0 0 0 auto;
  width: 760px;
  max-width: 100vw;
  max-height: 100vh;
  height: 100vh;
  display: flex;
  flex-direction: column;
  border-radius: 0;
  border-top-left-radius: var(--lupin-modal-radius);
  border-bottom-left-radius: var(--lupin-modal-radius);
  /* Start off-screen to the right and slide in on open (overrides the default scale). */
  transform: translateX(100%);
}

/* line 113, app/assets/stylesheets/ads/modal.scss */
.lupin-modal--open .lupin-modal__container.store-site-drawer {
  transform: translateX(0);
}

/* line 117, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer .lupin-modal__header {
  flex-shrink: 0;
  background: linear-gradient(to bottom, #175590, #4e8ab7);
  border-bottom: none;
}

/* line 123, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer .lupin-modal__title {
  color: #ffffff;
  line-height: 1.25;
  font-weight: 600;
}

/* line 129, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer .lupin-modal__close {
  color: rgba(255, 255, 255, 0.8);
}

/* line 133, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer .lupin-modal__close:hover {
  color: #ffffff;
}

/* line 137, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer .lupin-modal__content {
  flex: 1;
  min-height: 0;
  max-height: none;
  overflow-y: auto;
}

/* Form drawer variant: body scrolls in Y, footer stays pinned to the bottom. */
/* line 145, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer--form .lupin-modal__content {
  display: flex;
  flex-direction: column;
  padding: 0;
  overflow: hidden;
}

/* line 152, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer--form .lupin-modal__content > turbo-frame,
.lupin-modal__container.store-site-drawer--form .store-drawer-form {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  min-height: 0;
}

/* line 160, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer--form .store-drawer-form__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: var(--lupin-modal-content-padding);
}

/* line 167, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.store-site-drawer--form .store-drawer-form__footer {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 8px;
  padding: 12px 25px;
  border-top: var(--lupin-modal-header-border);
  background: var(--lupin-modal-bg);
}

/* line 178, app/assets/stylesheets/ads/modal.scss */
.store-site-drawer--manifest .manifest-doc {
  background: #ffffff;
  border-radius: 10px;
  padding: 14px 16px;
  border: 1px solid #e2e8f0;
  margin-bottom: 16px;
  box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.1);
  max-width: 100%;
  overflow-x: auto;
}

/* line 189, app/assets/stylesheets/ads/modal.scss */
.store-site-drawer--manifest .manifest-doc__subtitle {
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.72);
  margin-top: 2px;
}

/* line 196, app/assets/stylesheets/ads/modal.scss */
.manifest-doc__heading {
  display: flex;
  align-items: center;
  margin-bottom: 10px;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #64748b;
}

/* line 207, app/assets/stylesheets/ads/modal.scss */
.manifest-doc__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 11px;
}

/* line 213, app/assets/stylesheets/ads/modal.scss */
.manifest-doc__table thead th {
  padding: 0 12px 6px;
  text-align: left;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: #94a3b8;
  border-bottom: 1px solid #e2e8f0;
}

/* line 224, app/assets/stylesheets/ads/modal.scss */
.manifest-doc__table tbody td {
  padding: 8px 12px;
  border-bottom: 1px solid #f1f5f9;
  vertical-align: top;
  color: #475569;
}

/* line 231, app/assets/stylesheets/ads/modal.scss */
.manifest-doc__table .text-right {
  text-align: right;
}

/* line 235, app/assets/stylesheets/ads/modal.scss */
.manifest-doc__empty {
  font-size: 12px;
  color: #94a3b8;
}

/* line 240, app/assets/stylesheets/ads/modal.scss */
.store-site-drawer--document .store-drawer-form__body {
  background: #f1f5f9;
}

/* line 244, app/assets/stylesheets/ads/modal.scss */
.store-site-drawer--document .store-doc__subtitle {
  margin-top: 2px;
  font-size: 12px;
  font-weight: 400;
  color: rgba(255, 255, 255, 0.72);
}

/* line 251, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice,
.store-doc__panel,
.store-doc__placard-card {
  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
}

/* line 259, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice {
  padding: 14px 16px;
  border-left-width: 4px;
}

/* line 264, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice h3 {
  margin: 0;
  font-size: 13px;
  font-weight: 700;
  color: #1e293b;
}

/* line 271, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice p {
  margin: 5px 0 0;
  font-size: 12px;
  line-height: 1.55;
  color: #64748b;
}

/* line 278, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice--ready {
  border-left-color: #10b981;
}

/* line 282, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice--pending {
  border-left-color: #3b82f6;
}

/* line 286, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice--warning {
  border-left-color: #f59e0b;
}

/* line 290, app/assets/stylesheets/ads/modal.scss */
.store-doc__notice--alert {
  border-left-color: #dc2626;
}

/* line 294, app/assets/stylesheets/ads/modal.scss */
.store-doc__panel,
.store-doc__placard-card {
  padding: 14px 16px;
}

/* line 299, app/assets/stylesheets/ads/modal.scss */
.store-doc__heading {
  display: flex;
  align-items: center;
  margin: 0 0 10px;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #64748b;
}

/* line 310, app/assets/stylesheets/ads/modal.scss */
.store-doc__table {
  width: 100%;
  border-collapse: collapse;
  font-size: 12px;
  background: #ffffff;
}

/* line 317, app/assets/stylesheets/ads/modal.scss */
.store-doc__table thead th {
  padding: 8px 10px;
  border-bottom: 1px solid #cbd5e1;
  text-align: left;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: #64748b;
}

/* line 328, app/assets/stylesheets/ads/modal.scss */
.store-doc__table tbody td {
  padding: 9px 10px;
  border-bottom: 1px solid #e2e8f0;
  vertical-align: top;
  color: #475569;
}

/* line 335, app/assets/stylesheets/ads/modal.scss */
.store-doc__table .text-right {
  text-align: right;
}

/* line 339, app/assets/stylesheets/ads/modal.scss */
.store-doc__table--compact thead th,
.store-doc__table--compact tbody td {
  padding: 6px 8px;
  font-size: 11px;
}

/* line 345, app/assets/stylesheets/ads/modal.scss */
.store-doc__table--compact thead th {
  font-size: 9px;
}

/* line 349, app/assets/stylesheets/ads/modal.scss */
.store-doc__class-chip,
.store-doc__status {
  display: inline-flex;
  align-items: center;
  border-radius: 5px;
  padding: 3px 7px;
  font-size: 10px;
  font-weight: 700;
}

/* line 359, app/assets/stylesheets/ads/modal.scss */
.store-doc__class-chip {
  border: 1px solid #475569;
  background: #ffffff;
  color: #334155;
}

/* line 365, app/assets/stylesheets/ads/modal.scss */
.store-doc__status--pending {
  background: #dbeafe;
  color: #1d4ed8;
  font-size: 9px !important;
}

/* line 371, app/assets/stylesheets/ads/modal.scss */
.store-doc__status--missing {
  background: #fef3c7;
  color: #92400e;
  font-size: 9px !important;
}

/* line 377, app/assets/stylesheets/ads/modal.scss */
.store-doc__status--ready {
  background: #dcfce7;
  color: #166534;
  font-size: 9px !important;
}

/* line 383, app/assets/stylesheets/ads/modal.scss */
.store-doc__status--danger {
  background: #fee2e2;
  color: #b91c1c;
  font-size: 9px !important;
}

/* line 389, app/assets/stylesheets/ads/modal.scss */
.store-doc__empty {
  border: 1px dashed #cbd5e1;
  border-radius: 8px;
  padding: 14px;
  background: rgba(255, 255, 255, 0.65);
  font-size: 12px;
  color: #64748b;
}

/* line 398, app/assets/stylesheets/ads/modal.scss */
.store-doc__source {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  font-size: 11px;
  line-height: 1.5;
  color: #64748b;
}

/* line 409, app/assets/stylesheets/ads/modal.scss */
#manage-store-watchers .ts-wrapper .ts-control {
  min-height: 42px;
  border-radius: 9999px;
  border-color: #e2e8f0;
  padding-left: 36px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' d='m21 21-4.3-4.3M17 11a6 6 0 11-12 0 6 6 0 0112 0Z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 13px center;
  background-size: 16px 16px;
}

/* line 420, app/assets/stylesheets/ads/modal.scss */
#manage-store-watchers .ts-wrapper.focus .ts-control {
  border-color: #cbd5e1;
  box-shadow: none;
}

/* line 426, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: var(--lupin-modal-header-padding);
  border-bottom: var(--lupin-modal-header-border);
  margin-bottom: var(--lupin-modal-header-margin-bottom);
}

/* line 435, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__title {
  margin: 0;
  font-size: var(--lupin-modal-title-size);
  font-weight: var(--lupin-modal-title-weight);
  color: var(--lupin-modal-title-color);
  line-height: var(--lupin-modal-title-line-height);
}

/* line 443, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__header-controls {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 449, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__close {
  background: none;
  border: none;
  padding: 4px;
  cursor: pointer;
  border-radius: var(--lupin-modal-close-radius);
  color: var(--lupin-modal-close-color);
  transition: all 0.2s ease-in-out;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 462, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__close:hover {
  background-color: var(--lupin-modal-close-hover-bg);
  color: var(--lupin-modal-close-hover-color);
}

/* line 467, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__close:focus {
  outline: var(--lupin-modal-close-focus-outline);
  outline-offset: var(--lupin-modal-close-focus-offset);
}

/* line 472, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__close-icon {
  width: var(--lupin-modal-close-size);
  height: var(--lupin-modal-close-size);
}

/* line 477, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__content {
  padding: var(--lupin-modal-content-padding);
  overflow-y: auto;
  max-height: var(--lupin-modal-content-max-height);
  min-height: 0;
  font-size: var(--lupin-modal-content-font-size);
  line-height: var(--lupin-modal-content-line-height);
}

/* line 485, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__content label,
.lupin-modal__content p,
.lupin-modal__content span,
.lupin-modal__content li,
.lupin-modal__content td,
.lupin-modal__content th,
.lupin-modal__content dt,
.lupin-modal__content dd,
.lupin-modal__content small,
.lupin-modal__content em,
.lupin-modal__content a,
.lupin-modal__content input,
.lupin-modal__content select,
.lupin-modal__content textarea,
.lupin-modal__content .col-form-label,
.lupin-modal__content .form-label,
.lupin-modal__content .help-block,
.lupin-modal__content .hint {
  font-size: inherit;
  line-height: inherit;
}

/* line 507, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__content .text-sm,
.lupin-modal__content .text-base,
.lupin-modal__content .text-xxs {
  font-size: inherit !important;
  line-height: inherit !important;
}

/* line 514, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__content .chemman-formulation-badge {
  font-size: 11px !important;
  line-height: 1.2 !important;
}

/* line 520, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__footer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  margin: 16px calc(-1 * var(--lupin-modal-content-padding)) calc(-1 * var(--lupin-modal-content-padding));
  padding: var(--lupin-modal-footer-padding);
  border-top: var(--lupin-modal-header-border);
  font-size: var(--lupin-modal-content-font-size);
  line-height: var(--lupin-modal-content-line-height);
}

/* Use for short forms to avoid large empty modal body space */
/* line 533, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal .lupin-modal__content {
  min-height: 0;
}

/* line 537, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal .lupin-modal__content form:not(.hidden) {
  display: block;
  width: 100%;
  pointer-events: auto;
}

/* line 543, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal .lupin-modal__content form.lupin-modal__action-form:not(.hidden) {
  display: inline-block;
  width: auto;
  vertical-align: middle;
}

/* line 549, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal .lupin-modal__content form.copy-classifications-modal__footer:not(.hidden) {
  display: flex;
  width: 100%;
  pointer-events: auto;
}

/* line 556, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.sds-quality-modal {
  --lupin-modal-header-padding: 10px 16px;
  --lupin-modal-content-padding: 12px 16px;
}

/* Compositions / ingredients pick modal — tighter padding */
/* line 562, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal {
  --lupin-modal-header-padding: 10px 14px;
  --lupin-modal-content-padding: 12px 14px;
  --lupin-modal-footer-padding: 10px 14px;
  --lupin-modal-form-fields-gap: 10px;
}

/* line 568, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .lupin-modal__content {
  padding: var(--lupin-modal-content-padding);
}

/* line 572, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table {
  table-layout: fixed;
  width: 100%;
  font-size: 12.5px;
}

/* line 578, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table col.chemman-ingredients-col--drag {
  width: 1.75rem;
}

/* line 582, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table col.chemman-ingredients-col--name {
  width: 46%;
}

/* line 586, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table col.chemman-ingredients-col--cas {
  width: 22%;
}

/* line 590, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table col.chemman-ingredients-col--amount {
  width: 14%;
}

/* line 594, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table col.chemman-ingredients-col--unit {
  width: 12%;
}

/* line 598, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table col.chemman-ingredients-col--actions {
  width: 4.5rem;
}

/* line 602, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table th,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table td {
  padding: 0.375rem 0.625rem !important;
  vertical-align: middle;
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

/* line 610, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table tbody input,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table tbody select,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table tbody button {
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

/* line 617, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table .chemman-ingredients-col--name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 623, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table .chemman-ingredients-col--amount input,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table .chemman-ingredients-col--unit select,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table tbody input,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table tbody select {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

/* line 633, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table th.chemman-ingredients-col--unit,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table td.chemman-ingredients-col--unit,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-pick-ingredients-table .chemman-ingredients-col--unit select {
  font-size: 10px !important;
}

/* line 639, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table {
  font-size: 12.5px;
}

/* line 643, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table th,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table td {
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

/* line 649, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table tbody input,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table tbody select,
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table tbody button {
  font-size: 12.5px !important;
  line-height: 1.25 !important;
}

/* line 656, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .chemman-formulation-ingredients-table td a {
  font-size: 12.5px !important;
}

/* line 660, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-pick-ingredients-modal .modal-footer,
.lupin-modal__container.chemman-pick-ingredients-modal .lupin-modal__footer {
  margin-top: 0.75rem !important;
  padding-top: 0.625rem !important;
  gap: 0.5rem;
}

/* ExESS classification wizard + results — compact fixed scroll body, sticky footer */
/* line 669, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal {
  /* ~6 classification property rows; matches step 1 form height without empty gap */
  --exess-modal-scroll-height: 27rem;
  --exess-modal-scroll-height-max: min(27rem, calc(90vh - 11rem));
}

/* line 674, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .lupin-modal__content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: calc(90vh - 2rem);
  height: auto;
  padding: 0;
  overflow: hidden !important;
}

/* line 684, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* line 692, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__inner {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* line 700, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__steps {
  display: flex;
  flex: 0 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

/* line 708, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-step {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* line 715, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-step.hidden {
  display: none;
}

/* line 720, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-step__form {
  display: flex;
  flex-direction: column;
  flex: 0 1 auto;
  min-height: 0;
  overflow: hidden;
}

/* line 728, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__body,
.lupin-modal__container.exess-classification-modal .modal-body {
  flex: 0 0 auto;
  height: var(--exess-modal-scroll-height-max);
  max-height: var(--exess-modal-scroll-height-max);
  min-height: var(--exess-modal-scroll-height-max);
  overflow-x: hidden;
  overflow-y: auto;
  padding: 16px 25px;
}

/* line 738, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__body--loading,
.lupin-modal__container.exess-classification-modal .modal-body--loading {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* line 745, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__footer,
.lupin-modal__container.exess-classification-modal .modal-footer {
  flex-shrink: 0;
  margin-top: 0 !important;
  padding: 10px 25px 14px;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}

/* line 754, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-step-indicators {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 0.5rem;
  padding-bottom: 10px;
}

/* line 762, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__footer-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.5rem;
}

/* line 768, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__footer-actions.hidden {
  display: none !important;
}

/* line 773, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.exess-classification-modal .exess-modal-shell__footer-actions--split {
  justify-content: space-between;
}

/* Build Formulation from Composition — scrollable body + fixed confirm footer */
/* line 780, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content {
  display: flex;
  flex-direction: column;
  min-height: 0;
  max-height: var(--lupin-modal-content-max-height);
  overflow: hidden !important;
}

/* line 788, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .chemman-build-from-composition-form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  max-height: 100%;
  width: 100%;
}

/* line 797, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .chemman-build-from-composition-form__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  padding-right: 2px;
}

/* line 805, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .chemman-build-from-composition-form__footer,
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .lupin-modal__footer.chemman-build-from-composition-form__footer {
  display: flex !important;
  width: 100% !important;
  flex-shrink: 0 !important;
  justify-content: flex-end !important;
  align-items: center !important;
  text-align: right !important;
  gap: 0.5rem;
  margin-top: 0.75rem;
  margin-left: 0;
  margin-right: 0;
  padding-top: 0.75rem;
  background: #fff;
  border-top: 1px solid #f3f4f6;
}

/* line 821, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .chemman-build-from-composition-form__footer form:not(.hidden),
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .chemman-build-from-composition-form__footer form.lupin-modal__action-form:not(.hidden),
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .chemman-build-from-composition-form__footer form.chemman-build-from-composition-form__confirm:not(.hidden),
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .lupin-modal__footer.chemman-build-from-composition-form__footer form:not(.hidden),
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .lupin-modal__footer.chemman-build-from-composition-form__footer form.lupin-modal__action-form:not(.hidden),
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .lupin-modal__content .lupin-modal__footer.chemman-build-from-composition-form__footer form.chemman-build-from-composition-form__confirm:not(.hidden) {
  display: inline-flex !important;
  width: auto !important;
  margin-left: auto !important;
  margin-right: 0 !important;
  justify-content: flex-end !important;
  pointer-events: auto;
}

/* line 833, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.compact-modal.chemman-build-from-composition-modal .chemman-build-from-composition-form__cas-col {
  width: 7.5rem;
  min-width: 7.5rem;
  white-space: nowrap;
}

/* Physical & chemical properties — compact 12px form */
/* line 841, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-material-properties-modal {
  --lupin-modal-header-padding: 10px 14px;
  --lupin-modal-content-padding: 12px 20px;
  --lupin-modal-form-fields-gap: 8px;
  width: min(44rem, 90vw);
  max-width: 90vw;
  height: 90vh;
  height: 90dvh;
  display: flex;
  flex-direction: column;
}

/* line 852, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-material-properties-modal .lupin-modal__header {
  flex-shrink: 0;
}

/* line 856, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-material-properties-modal .lupin-modal__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  max-height: none;
  padding: var(--lupin-modal-content-padding);
  overflow: hidden !important;
}

/* line 866, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-material-properties-modal turbo-frame {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
}

/* line 873, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.chemman-material-properties-modal.compact-modal .lupin-modal__content form.chemman-material-properties-form:not(.hidden) {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  max-height: 100%;
}

/* line 882, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  max-height: 100%;
  --chemman-prop-label-width: 14rem;
  --chemman-prop-secondary-width: 11rem;
  --chemman-prop-row-gap: 0.75rem;
  width: 100%;
  max-width: 100%;
  font-size: 12px;
  line-height: 1.25;
}

/* line 896, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form__body {
  flex: 1;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
}

/* line 903, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form__footer {
  display: flex;
  flex-shrink: 0;
  justify-content: flex-end;
  gap: 0.5rem;
  margin-top: 1rem;
  padding-top: 1rem;
  padding-bottom: 0.25rem;
  background: #fff;
  border-top: 1px solid #f3f4f6;
}

/* line 915, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-row {
  display: grid !important;
  grid-template-columns: minmax(9rem, var(--chemman-prop-label-width)) minmax(0, 1fr);
  column-gap: var(--chemman-prop-row-gap);
  align-items: center;
  width: 100%;
  max-width: 100%;
}

/* line 924, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-row:has(.chemman-prop-secondary-slot) {
  grid-template-columns: minmax(9rem, var(--chemman-prop-label-width)) minmax(10rem, 1fr) minmax(8rem, var(--chemman-prop-secondary-width));
}

/* line 931, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-label,
.chemman-material-properties-form label.col-form-label {
  width: auto;
  min-width: 0;
  max-width: 100%;
  white-space: nowrap;
}

/* line 939, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form label,
.chemman-material-properties-form input:not([type="checkbox"]),
.chemman-material-properties-form select,
.chemman-material-properties-form textarea,
.chemman-material-properties-form .ts-wrapper .ts-control,
.chemman-material-properties-form .ts-wrapper .ts-control > input,
.chemman-material-properties-form .ts-wrapper .ts-control .item,
.chemman-material-properties-form .ts-dropdown .option {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* line 951, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form input:not([type="checkbox"]),
.chemman-material-properties-form select {
  box-sizing: border-box;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
}

/* line 962, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper {
  box-sizing: border-box;
  width: 100%;
  padding: 0 !important;
  border: 1px solid #d1d5db;
  border-radius: 0.25rem;
  background: #fff;
}

/* line 971, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.single,
.chemman-material-properties-form .ts-wrapper:not(.multi) {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
}

/* line 978, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.multi {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
}

/* line 984, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper .ts-control {
  display: flex !important;
  align-items: center !important;
  margin: 0 !important;
  padding: 0 8px !important;
  line-height: 1 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* line 995, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.single .ts-control,
.chemman-material-properties-form .ts-wrapper:not(.multi) .ts-control {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
}

/* line 1002, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.multi .ts-control {
  flex-wrap: nowrap !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 0.5rem !important;
}

/* line 1012, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper .ts-control > input,
.chemman-material-properties-form .ts-wrapper .ts-control .item {
  font-size: 12px !important;
  line-height: 1 !important;
}

/* line 1018, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.single.has-items:not(.dropdown-active) .ts-control > input {
  display: none !important;
}

/* line 1022, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.single.dropdown-active .ts-control > input,
.chemman-material-properties-form .ts-wrapper.dropdown-active:not(.multi) .ts-control > input {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 2rem !important;
  opacity: 1 !important;
}

/* line 1032, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .ts-wrapper.single.dropdown-active .ts-control .item,
.chemman-material-properties-form .ts-wrapper.dropdown-active:not(.multi) .ts-control .item {
  display: none !important;
}

/* line 1037, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .space-y-4 > :not([hidden]) ~ :not([hidden]) {
  margin-top: 0.5rem;
}

/* line 1041, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .mb-4 {
  margin-bottom: 0.5rem !important;
}

/* line 1045, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-row > label,
.chemman-material-properties-form .chemman-prop-row > .chemman-prop-label,
.chemman-material-properties-form .chemman-prop-row > span.chemman-prop-label {
  grid-column: 1;
}

/* line 1051, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-primary-slot {
  grid-column: 2;
  min-width: 0;
  width: 100%;
}

/* line 1057, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-secondary-slot {
  grid-column: 3;
  min-width: 0;
  width: 100%;
}

/* line 1063, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-row:not(:has(.chemman-prop-secondary-slot)) > :not(label):not(.chemman-prop-checkbox-field):not(span) {
  grid-column: 2;
  min-width: 0;
  width: 100% !important;
  max-width: 100% !important;
  flex: unset !important;
}

/* line 1071, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-checkbox-field {
  grid-column: 2;
  padding-top: 0 !important;
}

/* line 1076, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-row:has(.chemman-prop-secondary-slot) .chemman-prop-checkbox-field {
  grid-column: 2 / -1;
}

/* line 1080, app/assets/stylesheets/ads/modal.scss */
.chemman-material-properties-form .chemman-prop-primary-slot input,
.chemman-material-properties-form .chemman-prop-primary-slot select,
.chemman-material-properties-form .chemman-prop-primary-slot .ts-wrapper,
.chemman-material-properties-form .chemman-prop-secondary-slot input,
.chemman-material-properties-form .chemman-prop-secondary-slot select,
.chemman-material-properties-form .chemman-prop-secondary-slot .ts-wrapper,
.chemman-material-properties-form .chemman-prop-row:not(:has(.chemman-prop-secondary-slot)) input:not([type="checkbox"]),
.chemman-material-properties-form .chemman-prop-row:not(:has(.chemman-prop-secondary-slot)) select,
.chemman-material-properties-form .chemman-prop-row:not(:has(.chemman-prop-secondary-slot)) .ts-wrapper {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

/* line 1095, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.statements-modal,
.lupin-modal__container.phrases-modal {
  width: 720px;
  max-width: 95vw;
}

/* line 1101, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.statements-modal .lupin-modal__content,
.lupin-modal__container.phrases-modal .lupin-modal__content {
  min-height: 0;
  max-height: calc(90vh - 120px);
  overflow-y: auto;
}

/* line 1108, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.statements-modal .lupin-btn,
.lupin-modal__container.phrases-modal .lupin-btn {
  min-width: 88px;
}

/* Statements modal v2 — width inherited from .statements-modal (720px) */
/* line 1114, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.statements-modal--v2 .lupin-modal__header {
  padding-bottom: 0;
}

/* line 1118, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.statements-modal--v2 .lupin-modal__content {
  padding-top: 0.625rem;
  max-height: calc(90vh - 100px);
}

/* line 1123, app/assets/stylesheets/ads/modal.scss */
.statements-modal__form {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
}

/* line 1129, app/assets/stylesheets/ads/modal.scss */
.statements-modal__subtitle {
  margin: 0;
  font-size: inherit;
  line-height: inherit;
  color: var(--lupin-color-gray-500, #6b7280);
}

/* line 1136, app/assets/stylesheets/ads/modal.scss */
.statements-modal__search {
  position: relative;
}

/* line 1140, app/assets/stylesheets/ads/modal.scss */
.statements-modal__search-icon {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lupin-color-gray-400, #9ca3af);
  pointer-events: none;
  display: inline-flex;
}

/* line 1150, app/assets/stylesheets/ads/modal.scss */
.statements-modal__search-input {
  display: block;
  width: 100%;
  padding: 0.5625rem 0.75rem 0.5625rem 2.25rem;
  font-size: inherit;
  line-height: inherit;
  color: var(--lupin-color-gray-900, #111827);
  background: var(--lupin-color-white, #fff);
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 0.375rem;
  outline: none;
}

/* line 1163, app/assets/stylesheets/ads/modal.scss */
.statements-modal__search-input:focus {
  border-color: var(--lupin-color-gray-400, #9ca3af);
}

/* line 1167, app/assets/stylesheets/ads/modal.scss */
.statements-modal__lists {
  display: flex;
  flex-direction: column;
  gap: 0;
  min-height: 0;
}

/* line 1174, app/assets/stylesheets/ads/modal.scss */
.statements-modal__divider {
  margin: 0.75rem 0;
  border: 0;
  border-top: 1px solid var(--lupin-color-gray-200, #e5e7eb);
}

/* line 1180, app/assets/stylesheets/ads/modal.scss */
.statements-modal__results-section {
  padding-bottom: 0.25rem;
}

/* line 1184, app/assets/stylesheets/ads/modal.scss */
.statements-modal__added-section {
  padding-top: 0.25rem;
}

/* line 1188, app/assets/stylesheets/ads/modal.scss */
.statements-modal__section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 0.5rem;
}

/* line 1195, app/assets/stylesheets/ads/modal.scss */
.statements-modal__section-label {
  font-size: inherit;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lupin-color-gray-500, #6b7280);
}

/* line 1203, app/assets/stylesheets/ads/modal.scss */
.statements-modal__section-count {
  font-size: inherit;
  font-weight: 600;
  color: var(--lupin-color-gray-400, #9ca3af);
}

/* line 1209, app/assets/stylesheets/ads/modal.scss */
.statements-modal__results-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  max-height: 180px;
  overflow-y: auto;
  padding-right: 0.25rem;
}

/* line 1218, app/assets/stylesheets/ads/modal.scss */
.statements-modal__added-list {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  max-height: 300px;
  overflow-y: auto;
  padding-right: 0.25rem;
}

/* line 1227, app/assets/stylesheets/ads/modal.scss */
.statements-modal__added-item {
  display: flex;
  flex-direction: column;
  flex-shrink: 0;
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 0.5rem;
  background: var(--lupin-color-white, #fff);
}

/* line 1236, app/assets/stylesheets/ads/modal.scss */
.statements-modal__added-row,
.statements-modal__result-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 5px;
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 0.5rem;
  background: var(--lupin-color-white, #fff);
}

/* line 1248, app/assets/stylesheets/ads/modal.scss */
.statements-modal__added-row {
  border: 0;
}

/* line 1252, app/assets/stylesheets/ads/modal.scss */
.statements-modal__result-row--picked {
  background: var(--lupin-color-sky-50, #f0f9ff);
  border-color: var(--lupin-color-sky-100, #e0f2fe);
}

/* line 1257, app/assets/stylesheets/ads/modal.scss */
.statements-modal__row-content {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex: 1;
  min-width: 0;
}

/* line 1265, app/assets/stylesheets/ads/modal.scss */
.statements-modal__code-badge {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  font-size: inherit;
  font-weight: 600;
  line-height: inherit;
  color: var(--lupin-color-gray-700, #374151);
  background: var(--lupin-color-gray-100, #f3f4f6);
  border-radius: 0.25rem;
  white-space: nowrap;
}

/* line 1279, app/assets/stylesheets/ads/modal.scss */
.statements-modal__row-text {
  font-size: inherit;
  line-height: inherit;
  color: var(--lupin-color-gray-800, #1f2937);
  word-break: break-word;
}

/* line 1286, app/assets/stylesheets/ads/modal.scss */
.statements-modal__remove-btn {
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.25rem;
  color: var(--lupin-color-gray-400, #9ca3af);
  background: transparent;
  border: 0;
  border-radius: 0.25rem;
  cursor: pointer;
}

/* line 1299, app/assets/stylesheets/ads/modal.scss */
.statements-modal__remove-btn:hover,
.statements-modal__remove-btn:focus,
.statements-modal__remove-btn:focus-visible {
  color: var(--lupin-color-rose, #e11d48);
  outline: none;
}

/* line 1306, app/assets/stylesheets/ads/modal.scss */
.statements-modal__remove-btn:hover svg,
.statements-modal__remove-btn:focus svg,
.statements-modal__remove-btn:focus-visible svg {
  stroke: var(--lupin-color-rose, #e11d48);
}

/* line 1312, app/assets/stylesheets/ads/modal.scss */
.statements-modal__action-link {
  flex-shrink: 0;
  font-size: inherit;
  font-weight: 600;
  color: var(--lupin-color-sky-700, #0369a1);
  background: transparent;
  border: 0;
  cursor: pointer;
  display: inline-flex;
  align-items: center;
}

/* line 1324, app/assets/stylesheets/ads/modal.scss */
.statements-modal__action-link:hover:not(:disabled) {
  color: var(--lupin-color-sky-800, #075985);
}

/* line 1328, app/assets/stylesheets/ads/modal.scss */
.statements-modal__action-link--muted,
.statements-modal__action-link:disabled {
  color: var(--lupin-color-gray-400, #9ca3af);
  cursor: default;
}

/* line 1334, app/assets/stylesheets/ads/modal.scss */
.statements-modal__extra-info {
  border-top: 1px solid var(--lupin-color-gray-100, #f3f4f6);
}

/* line 1338, app/assets/stylesheets/ads/modal.scss */
.statements-modal__extra-input {
  width: 100%;
  padding: 0.375rem 0.625rem !important;
  font-size: inherit !important;
  line-height: inherit !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* line 1347, app/assets/stylesheets/ads/modal.scss */
.statements-modal__empty {
  margin: 0;
  padding: 0.75rem;
  font-size: inherit;
  line-height: inherit;
  color: var(--lupin-color-gray-500, #6b7280);
  text-align: center;
}

/* line 1356, app/assets/stylesheets/ads/modal.scss */
.statements-modal__footer {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 0.5rem;
  margin-top: 0.375rem;
  padding-top: 0.875rem;
  border-top: 1px solid var(--lupin-color-gray-200, #e5e7eb);
}

/* Link Material modal: dropdown should overlay content and own scrolling */
/* line 1367, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.link-material-modal {
  overflow: visible;
}

/* line 1371, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.link-material-modal .lupin-modal__content {
  overflow: visible;
  max-height: none;
}

/* Allow dropdowns to overflow in modals */
/* line 1377, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__content .autocomplete-results {
  position: absolute;
  z-index: 9999;
}

/* Focus management */
/* line 1383, app/assets/stylesheets/ads/modal.scss */
.lupin-modal:focus {
  outline: none;
}

/* Animation for modal content */
/* line 1388, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__content > * {
  animation: modalContentFadeIn 0.3s ease-in-out;
}

/* line 1392, app/assets/stylesheets/ads/modal.scss */
.lupin-form__actions {
  margin-top: var(--lupin-modal-actions-margin-top);
}

/* line 1396, app/assets/stylesheets/ads/modal.scss */
.lupin-form-fields-container {
  display: flex;
  flex-direction: column;
  gap: var(--lupin-modal-form-fields-gap);
  flex-grow: 1;
}

/* Copy classifications modal */
/* line 1404, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.copy-classifications-modal {
  width: 720px;
  max-width: 95vw;
}

/* line 1409, app/assets/stylesheets/ads/modal.scss */
.lupin-modal__container.copy-classifications-modal .lupin-modal__content {
  padding: 0;
  min-height: 0;
  max-height: calc(90vh - 48px);
}

/* line 1415, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__shell {
  display: flex;
  flex-direction: column;
  max-height: calc(90vh - 48px);
}

/* line 1421, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  padding: 1rem 1.25rem 0.75rem;
  flex-shrink: 0;
}

/* line 1430, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__header-main {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  min-width: 0;
}

/* line 1437, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__header-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  border-radius: 9999px;
  background: var(--lupin-color-sky-100, #e0f2fe);
  color: var(--lupin-color-sky-700, #0369a1);
}

/* line 1448, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__header-icon > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

/* line 1455, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__header-icon svg {
  width: 1.25rem;
  height: 1.25rem;
}

/* line 1461, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__title {
  margin: 0;
  font-size: var(--lupin-modal-title-size);
  font-weight: 600;
  line-height: var(--lupin-modal-title-line-height);
  color: var(--lupin-color-gray-900, #111827);
}

/* line 1469, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__subtitle {
  margin: 0.125rem 0 0;
  font-size: inherit;
  line-height: inherit;
  color: var(--lupin-color-gray-500, #6b7280);
}

/* line 1476, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__body {
  display: flex;
  flex-direction: column;
  gap: 0.625rem;
  padding: 0 1.25rem 1rem;
  flex: 1;
  min-height: 0;
  overflow: hidden;
}

/* line 1486, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__preview-host {
  flex: 1;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

/* line 1493, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__preview-frame {
  flex: 1;
  min-height: 0;
  display: block;
}

/* line 1499, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__lists-scroll {
  /* CSS min() — unquote so Sass does not evaluate rem vs vh */
  max-height: min(48vh, 22rem);
  min-height: 12rem;
  overflow-y: auto;
  overflow-x: hidden;
}

/* line 1507, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__cannot-proceed {
  margin: 0;
  font-size: 12px;
  line-height: 1.35;
  color: #be123c;
}

/* line 1514, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__route {
  display: flex;
  align-items: flex-end;
  gap: 0.75rem;
}

/* line 1520, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__route-arrow {
  flex-shrink: 0;
  padding-bottom: 0.625rem;
  color: var(--lupin-color-gray-400, #9ca3af);
}

/* line 1525, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__route-arrow > span {
  display: inline-flex;
  line-height: 0;
}

/* line 1530, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__route-arrow svg {
  width: 1rem;
  height: 1rem;
}

/* line 1536, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field {
  flex: 1;
  min-width: 0;
}

/* line 1541, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field-label {
  display: block;
  margin-bottom: 0.375rem;
  font-size: inherit;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--lupin-color-gray-500, #6b7280);
}

/* line 1551, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field-value {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-height: 2.125rem;
  padding: 0.375rem 0.625rem;
  font-size: inherit;
  font-weight: 500;
  color: var(--lupin-color-gray-900, #111827);
  background: var(--lupin-color-gray-50, #f9fafb);
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 10px;
}

/* line 1565, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field-value--select {
  gap: 0;
  padding: 0 0.75rem 0 0.5rem;
  background: var(--lupin-color-white, #fff);
}

/* line 1571, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__region-badge {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  margin-left: 0.25rem;
  font-size: inherit;
  font-weight: 700;
  line-height: 1;
  color: var(--lupin-color-gray-700, #374151);
  background: var(--lupin-color-white, #fff);
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 9999px;
}

/* line 1588, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field-icon {
  display: inline-flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  color: var(--lupin-color-gray-500, #6b7280);
  background: var(--lupin-color-white, #fff);
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 9999px;
}

/* line 1600, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field-icon > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 0;
}

/* line 1608, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__field-icon-svg {
  width: 0.875rem;
  height: 0.875rem;
}

/* line 1613, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__select {
  flex: 1;
  width: 100%;
  min-height: 2.125rem;
  padding: 0.375rem 2rem 0.375rem 0.5rem;
  font-size: inherit;
  font-weight: 500;
  color: var(--lupin-color-gray-900, #111827);
  background: transparent;
  border: 0;
  border-radius: 10px;
  outline: none;
  appearance: none;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 24 24' stroke='%239ca3af'%3E%3Cpath stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m19.5 8.25-7.5 7.5-7.5-7.5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.5rem center;
  background-size: 1rem;
}

/* line 1632, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__content {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
}

/* line 1638, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__panels {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
}

/* line 1644, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__empty {
  padding: 0.625rem;
  font-size: 12px;
  line-height: 1.35;
  color: var(--lupin-color-gray-500, #6b7280);
  text-align: center;
  background: var(--lupin-color-gray-50, #f9fafb);
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 10px;
}

/* line 1655, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__alert {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
  padding: 0.5rem 0.625rem;
  font-size: 12px;
  line-height: 1.35;
  color: #92400e;
  background: #fffbeb;
  border: 1px solid #fde68a;
  border-radius: 10px;
}

/* line 1668, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__alert-icon {
  flex-shrink: 0;
  color: #d97706;
  line-height: 0;
}

/* line 1673, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__alert-icon svg {
  width: 0.875rem;
  height: 0.875rem;
}

/* line 1679, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.375rem;
  margin-bottom: 0.25rem;
}

/* line 1687, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__section-title {
  margin: 0;
  font-size: 12px;
  font-weight: 600;
  color: var(--lupin-color-gray-900, #111827);
}

/* line 1694, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__section-title--danger {
  color: #be123c;
}

/* line 1698, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  font-size: inherit;
  font-weight: 600;
  border-radius: 9999px;
}

/* line 1707, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__badge--success {
  color: #166534;
  background: #dcfce7;
}

/* line 1712, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__badge--danger {
  color: #be123c;
  background: #ffe4e6;
}

/* line 1717, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__list {
  margin: 0;
  padding: 0;
  list-style: none;
  overflow: hidden;
  border: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  border-radius: 8px;
}

/* line 1726, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__list--danger {
  border-color: #fecdd3;
}

/* line 1730, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.375rem 0.625rem;
  font-size: 12px;
  line-height: 1.35;
  min-width: 0;
}

/* line 1740, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item + .copy-classifications-preview__item {
  border-top: 1px solid var(--lupin-color-gray-100, #f3f4f6);
}

/* line 1744, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__list--danger .copy-classifications-preview__item {
  background: #fff1f2;
}

/* line 1748, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__list--danger .copy-classifications-preview__item + .copy-classifications-preview__item {
  border-top-color: #fecdd3;
}

/* line 1752, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-icon {
  flex-shrink: 0;
  line-height: 0;
}

/* line 1756, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-icon svg {
  width: 1rem;
  height: 1rem;
}

/* line 1762, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-body {
  flex: 1;
  min-width: 0;
  overflow: hidden;
}

/* line 1768, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-line {
  margin: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 1775, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-title {
  font-weight: 600;
  color: var(--lupin-color-gray-900, #111827);
}

/* line 1780, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__list--danger .copy-classifications-preview__item-title {
  color: #be123c;
}

/* line 1784, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-subtitle {
  font-weight: 400;
  color: var(--lupin-color-gray-500, #6b7280);
}

/* line 1789, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-subtitle::before {
  content: " · ";
  color: var(--lupin-color-gray-400, #9ca3af);
}

/* line 1794, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-preview__item-skip {
  flex-shrink: 0;
  font-size: inherit;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #be123c;
}

/* line 1802, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__footer {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem;
  padding: 0.625rem 1.25rem 0.875rem;
  border-top: 1px solid var(--lupin-color-gray-100, #f3f4f6);
  flex-shrink: 0;
  position: relative;
  z-index: 2;
  background: var(--lupin-modal-bg, #fff);
  pointer-events: auto;
}

/* line 1816, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__autopopulate {
  display: none;
  align-items: center;
  gap: 0.5rem;
  font-size: inherit;
  color: var(--lupin-color-gray-700, #374151);
  cursor: pointer;
}

/* line 1825, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__autopopulate.is-visible {
  display: inline-flex;
}

/* line 1829, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__autopopulate-icon {
  color: var(--lupin-color-sky-600, #0284c7);
}

/* line 1833, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__actions {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  margin-left: auto;
}

/* line 1840, app/assets/stylesheets/ads/modal.scss */
.copy-classifications-modal__proceed-icon {
  margin-left: 0.125rem;
}

@media (min-width: 640px) {
  /* line 1845, app/assets/stylesheets/ads/modal.scss */
  .copy-classifications-modal__footer--inline-controls {
    flex-wrap: nowrap;
  }
  /* line 1849, app/assets/stylesheets/ads/modal.scss */
  .copy-classifications-modal__footer--inline-controls .copy-classifications-modal__autopopulate {
    margin-right: auto;
    white-space: nowrap;
  }
  /* line 1854, app/assets/stylesheets/ads/modal.scss */
  .copy-classifications-modal__footer--inline-controls .copy-classifications-modal__actions {
    margin-left: 0;
  }
}

/* line 1, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions {
  --role-permissions-selected-bg: rgba(var(--lupin-color-rgb-sky-50), 0.45);
}

/* line 4, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 1rem;
}

/* line 13, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__search {
  position: relative;
  flex: 1 1 16rem;
  min-width: 10rem;
}

/* line 19, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__search-icon {
  position: absolute;
  left: 0.625rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lupin-color-gray-400);
  pointer-events: none;
}

/* line 28, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__search-input {
  width: 100%;
  border: 1px solid var(--lupin-color-gray-200);
  border-radius: 0.375rem;
  background: var(--lupin-color-white);
  padding: 0.5rem 0.75rem 0.5rem 2.25rem;
  font-size: 0.875rem;
  color: var(--lupin-color-gray-900);
}

/* line 37, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__search-input:focus {
  outline: none;
  border-color: var(--lupin-color-sky-400);
  box-shadow: 0 0 0 2px rgba(var(--lupin-color-rgb-sky-100), 0.9);
}

/* line 43, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__search-input::placeholder {
  color: var(--lupin-color-gray-400);
}

/* line 48, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__toolbar-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
}

/* line 54, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__toolbar-link {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--lupin-color-gray-700);
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
}

/* line 63, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__toolbar-link:hover {
  color: var(--lupin-color-gray-900);
}

/* line 68, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__groups {
  display: flex;
  flex-direction: column;
  border: 1px solid var(--lupin-color-gray-200);
  border-radius: 0.625rem;
  background: var(--lupin-color-white);
  overflow: hidden;
}

/* line 77, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  border-bottom: 1px solid var(--lupin-color-gray-200);
}

/* line 84, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group:last-child {
  border-bottom: 0;
}

/* line 88, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group--disabled {
  opacity: 0.65;
}

/* line 92, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group:has(.role-permissions__group-body.hidden) .role-permissions__group-header {
  border-bottom: 0;
}

/* line 97, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-header {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.875rem 1rem;
  background: var(--lupin-color-gray-50);
  border-bottom: 1px solid var(--lupin-color-gray-200);
}

/* line 106, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-toggle {
  display: flex;
  align-items: center;
  gap: 0.625rem;
  flex: 1;
  min-width: 0;
  background: none;
  border: 0;
  padding: 0;
  text-align: left;
  cursor: pointer;
}

/* line 119, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 0.5rem;
  border: 1px solid var(--lupin-color-gray-200);
  background: var(--lupin-color-white);
  color: var(--lupin-color-gray-600);
  flex-shrink: 0;
}

/* line 132, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-meta {
  min-width: 0;
}

/* line 136, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-title {
  margin: 0;
  font-size: 0.9375rem;
  font-weight: 600;
  color: var(--lupin-color-gray-900);
  line-height: 1.3;
}

/* line 144, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-description {
  margin: 0.125rem 0 0;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--lupin-color-gray-500);
}

/* line 151, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-actions {
  display: flex;
  align-items: center;
  gap: 0.75rem;
  flex-shrink: 0;
  margin-left: 0.75rem;
  padding-left: 0.75rem;
  border-left: 1px solid var(--lupin-color-gray-200);
}

/* line 161, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__count-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.75rem;
  padding: 0.125rem 0.5rem;
  border-radius: 9999px;
  background: var(--lupin-color-white);
  color: var(--lupin-color-sky-700);
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.25rem;
}

/* line 175, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__select-all {
  font-size: 0.8125rem;
  font-weight: 500;
  color: var(--lupin-color-gray-700);
  background: none;
  border: 0;
  padding: 0.375rem 0.5rem;
  margin: -0.375rem -0.5rem;
  border-radius: 0.375rem;
  cursor: pointer;
  white-space: nowrap;
}

/* line 187, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__select-all:hover {
  color: var(--lupin-color-gray-900);
  background: var(--lupin-color-gray-100);
}

/* line 192, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__select-all:disabled {
  color: var(--lupin-color-gray-400);
  cursor: not-allowed;
  background: none;
}

/* line 199, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__chevron {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.5rem;
  height: 1.5rem;
  flex-shrink: 0;
  margin-left: 0.125rem;
  padding: 0;
  border: 1px solid var(--lupin-color-gray-200);
  border-radius: 0.25rem;
  background: var(--lupin-color-white);
  color: var(--lupin-color-gray-600);
  cursor: pointer;
  transform: rotate(180deg);
  transition: transform 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}

/* line 216, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__chevron:hover {
  border-color: var(--lupin-color-gray-300);
  color: var(--lupin-color-gray-800);
}

/* line 221, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__chevron--collapsed {
  transform: rotate(0deg);
}

/* line 226, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__group-body {
  padding: 1rem;
  background: var(--lupin-color-white);
}

/* line 231, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__grid {
  display: grid;
  gap: 0.625rem;
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

@media (max-width: 1024px) {
  /* line 231, app/assets/stylesheets/ads/role_permissions.scss */
  .role-permissions__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  /* line 231, app/assets/stylesheets/ads/role_permissions.scss */
  .role-permissions__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

/* line 245, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card {
  position: relative;
  display: block;
  border: 1px solid var(--lupin-color-gray-200);
  border-radius: 0.5rem;
  background: var(--lupin-color-white);
  padding: 0.625rem 0.75rem;
  cursor: pointer;
  transition: border-color 0.15s ease, background-color 0.15s ease;
}

/* line 255, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card:hover:not(.role-permissions__card--disabled) {
  border-color: var(--lupin-color-sky-300);
}

/* line 259, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card--selected {
  border-color: var(--lupin-color-sky-300);
  background: var(--role-permissions-selected-bg);
}

/* line 264, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card--disabled {
  cursor: not-allowed;
  background: var(--lupin-color-gray-50);
  filter: grayscale(1);
}

/* line 271, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card-inner {
  display: flex;
  align-items: flex-start;
  gap: 0.5rem;
}

/* line 277, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__checkbox {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

/* line 283, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__checkbox-visual {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1rem;
  height: 1rem;
  margin-top: 0.125rem;
  border: 1.5px solid var(--lupin-color-gray-300);
  border-radius: 9999px;
  background: var(--lupin-color-white);
  flex-shrink: 0;
  color: var(--lupin-color-white);
}

/* line 297, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card--selected .role-permissions__checkbox-visual {
  border-color: var(--lupin-color-sky-600);
  background: var(--lupin-color-sky-600);
}

/* line 302, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card--disabled .role-permissions__checkbox-visual {
  border-color: var(--lupin-color-gray-300);
  background: var(--lupin-color-gray-100);
}

/* line 307, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card-copy {
  min-width: 0;
}

/* line 311, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card-title {
  display: block;
  font-size: 0.8125rem;
  font-weight: 600;
  line-height: 1.3;
  color: var(--lupin-color-gray-900);
}

/* line 319, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__card-description {
  display: block;
  margin-top: 0.125rem;
  font-size: 0.75rem;
  line-height: 1.35;
  color: var(--lupin-color-gray-500);
}

/* line 327, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__disabled-message {
  margin: 0.125rem 0 0;
  font-size: 0.6875rem;
  line-height: 1.25;
  color: var(--lupin-color-gray-500);
}

/* line 334, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  border-top: 1px solid var(--lupin-color-gray-200);
  padding-top: 1rem;
  margin-top: 1.25rem;
}

/* line 344, app/assets/stylesheets/ads/role_permissions.scss */
.role-permissions__footer-note {
  margin: 0;
  font-size: 0.75rem;
  color: var(--lupin-color-gray-500);
}

/* line 354, app/assets/stylesheets/ads/role_permissions.scss */
.company-settings .content .role-permissions .role-permissions__group-title,
.company-settings .lupin-modal__content .role-permissions .role-permissions__group-title {
  font-size: 14px;
}

/* line 358, app/assets/stylesheets/ads/role_permissions.scss */
.company-settings .content .role-permissions .role-permissions__search-input,
.company-settings .lupin-modal__content .role-permissions .role-permissions__search-input {
  font-size: 0.875rem;
}

/* line 362, app/assets/stylesheets/ads/role_permissions.scss */
.company-settings .content .role-permissions .role-permissions__card-title,
.company-settings .content .role-permissions .role-permissions__select-all,
.company-settings .content .role-permissions .role-permissions__toolbar-link,
.company-settings .lupin-modal__content .role-permissions .role-permissions__card-title,
.company-settings .lupin-modal__content .role-permissions .role-permissions__select-all,
.company-settings .lupin-modal__content .role-permissions .role-permissions__toolbar-link {
  font-size: 0.8125rem;
}

/* line 368, app/assets/stylesheets/ads/role_permissions.scss */
.company-settings .content .role-permissions .role-permissions__group-description,
.company-settings .content .role-permissions .role-permissions__card-description,
.company-settings .content .role-permissions .role-permissions__footer-note,
.company-settings .content .role-permissions .role-permissions__disabled-message,
.company-settings .content .role-permissions .role-permissions__count-badge,
.company-settings .lupin-modal__content .role-permissions .role-permissions__group-description,
.company-settings .lupin-modal__content .role-permissions .role-permissions__card-description,
.company-settings .lupin-modal__content .role-permissions .role-permissions__footer-note,
.company-settings .lupin-modal__content .role-permissions .role-permissions__disabled-message,
.company-settings .lupin-modal__content .role-permissions .role-permissions__count-badge {
  font-size: 0.75rem;
}

/* line 30, app/assets/stylesheets/admin.scss */
.system-admin .content,
.company-settings .content {
  font-size: 12px;
}

/* line 7, app/assets/stylesheets/admin.scss */
.system-admin .content .text-sm,
.system-admin .content .text-xs,
.company-settings .content .text-sm,
.company-settings .content .text-xs {
  font-size: 12px !important;
}

/* line 12, app/assets/stylesheets/admin.scss */
.system-admin .content input,
.system-admin .content select,
.system-admin .content textarea,
.system-admin .content button,
.system-admin .content label,
.system-admin .content table,
.system-admin .content th,
.system-admin .content td,
.system-admin .content a,
.system-admin .content p,
.system-admin .content span,
.system-admin .content li,
.system-admin .content h3,
.system-admin .content h5,
.company-settings .content input,
.company-settings .content select,
.company-settings .content textarea,
.company-settings .content button,
.company-settings .content label,
.company-settings .content table,
.company-settings .content th,
.company-settings .content td,
.company-settings .content a,
.company-settings .content p,
.company-settings .content span,
.company-settings .content li,
.company-settings .content h3,
.company-settings .content h5 {
  font-size: 12px;
}

/* line 35, app/assets/stylesheets/admin.scss */
.system-admin .lupin-modal__content,
.company-settings .lupin-modal__content {
  font-size: 12px;
}

/* line 7, app/assets/stylesheets/admin.scss */
.system-admin .lupin-modal__content .text-sm,
.system-admin .lupin-modal__content .text-xs,
.company-settings .lupin-modal__content .text-sm,
.company-settings .lupin-modal__content .text-xs {
  font-size: 12px !important;
}

/* line 12, app/assets/stylesheets/admin.scss */
.system-admin .lupin-modal__content input,
.system-admin .lupin-modal__content select,
.system-admin .lupin-modal__content textarea,
.system-admin .lupin-modal__content button,
.system-admin .lupin-modal__content label,
.system-admin .lupin-modal__content table,
.system-admin .lupin-modal__content th,
.system-admin .lupin-modal__content td,
.system-admin .lupin-modal__content a,
.system-admin .lupin-modal__content p,
.system-admin .lupin-modal__content span,
.system-admin .lupin-modal__content li,
.system-admin .lupin-modal__content h3,
.system-admin .lupin-modal__content h5,
.company-settings .lupin-modal__content input,
.company-settings .lupin-modal__content select,
.company-settings .lupin-modal__content textarea,
.company-settings .lupin-modal__content button,
.company-settings .lupin-modal__content label,
.company-settings .lupin-modal__content table,
.company-settings .lupin-modal__content th,
.company-settings .lupin-modal__content td,
.company-settings .lupin-modal__content a,
.company-settings .lupin-modal__content p,
.company-settings .lupin-modal__content span,
.company-settings .lupin-modal__content li,
.company-settings .lupin-modal__content h3,
.company-settings .lupin-modal__content h5 {
  font-size: 12px;
}

/* line 42, app/assets/stylesheets/admin.scss */
.company-settings .content .text-\[11px\],
.company-settings .lupin-modal__content .text-\[11px\] {
  font-size: 12px !important;
}

/* line 3, app/assets/stylesheets/profile.scss */
.profile-page .content {
  font-size: 12px;
}

/* line 6, app/assets/stylesheets/profile.scss */
.profile-page .content .text-sm,
.profile-page .content .text-xs,
.profile-page .content .text-base {
  font-size: 12px !important;
}

/* line 12, app/assets/stylesheets/profile.scss */
.profile-page .content input,
.profile-page .content select,
.profile-page .content textarea,
.profile-page .content button,
.profile-page .content label,
.profile-page .content p,
.profile-page .content span,
.profile-page .content dt,
.profile-page .content dd,
.profile-page .content li,
.profile-page .content h2,
.profile-page .content h3,
.profile-page .content h4,
.profile-page .content h5,
.profile-page .content a,
.profile-page .content th,
.profile-page .content td {
  font-size: 12px;
}

/* line 1, app/assets/stylesheets/_common.scss */
.shadow-tlr {
  box-shadow: 0 -1px 2px 0 rgba(0, 0, 0, 0.05), 1px 0 2px 0 rgba(0, 0, 0, 0.05), -1px 0 2px 0 rgba(0, 0, 0, 0.05);
}

/* line 8, app/assets/stylesheets/_common.scss */
.shadow-lr {
  box-shadow: 1px 0 2px 0 rgba(0, 0, 0, 0.05), -1px 0 2px 0 rgba(0, 0, 0, 0.05);
}

/* line 14, app/assets/stylesheets/_common.scss */
.bg-light-gray {
  background-color: #f9fafc;
}

/* line 18, app/assets/stylesheets/_common.scss */
.bg--chemman {
  background: linear-gradient(to bottom, #175590, #4e8ab7);
}

/* line 22, app/assets/stylesheets/_common.scss */
.bg--asbman {
  background: linear-gradient(to bottom, #2F4092, #4f63c5);
}

/* line 26, app/assets/stylesheets/_common.scss */
.bg--company-settings {
  background: linear-gradient(to bottom, #175590, #4e8ab7);
}

/* line 30, app/assets/stylesheets/_common.scss */
.form-search--chemman {
  border-bottom: 3px solid var(--lupin-color-sky-500);
}

/* line 34, app/assets/stylesheets/_common.scss */
.form-search--asbman {
  border-bottom: 3px solid var(--lupin-color-violet-600);
}

/* line 39, app/assets/stylesheets/_common.scss */
.sortable-ghost {
  opacity: 0.4;
  background-color: #f3f4f6;
}

/* line 44, app/assets/stylesheets/_common.scss */
.sortable-chosen {
  background-color: #e5e7eb;
}

/* line 48, app/assets/stylesheets/_common.scss */
.sortable-drag {
  background-color: #ffffff;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06);
  transform: rotate(2deg);
}

/* line 54, app/assets/stylesheets/_common.scss */
.drag-handle {
  cursor: move;
  transition: color 0.2s ease;
}

/* line 59, app/assets/stylesheets/_common.scss */
.drag-handle:hover {
  color: #6b7280 !important;
}

/* line 63, app/assets/stylesheets/_common.scss */
.text-xxs {
  font-size: 10px !important;
}

/* line 67, app/assets/stylesheets/_common.scss */
.chemman-formulation-badge {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.375rem;
  font-size: 10px !important;
  line-height: 1.2 !important;
  font-weight: 500;
  border-radius: 0.25rem;
  white-space: nowrap;
}

/* line 78, app/assets/stylesheets/_common.scss */
.text-xxxs {
  font-size: 9px !important;
}

/* line 83, app/assets/stylesheets/_common.scss */
a[href]:not([aria-disabled='true']):not(.disabled),
button:not(:disabled),
[role='button']:not([aria-disabled='true']),
[data-action*='switcher#switch'] {
  cursor: pointer !important;
}

/* line 90, app/assets/stylesheets/_common.scss */
button:disabled,
a[aria-disabled='true'],
[role='button'][aria-disabled='true'],
.disabled {
  cursor: not-allowed;
}

/* line 1, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-app-header {
  background: linear-gradient(to bottom, #175590, #4e8ab7);
}

/* line 5, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-app-header__logo {
  filter: brightness(0) invert(1);
}

/* line 9, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-nav-tabs {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 0.125rem;
}

/* line 16, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-nav-tab {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 14px;
  font-size: 14px;
  line-height: 1.25;
  color: #fff;
  background: rgba(0, 0, 0, 0.12);
  border-radius: 0.25rem 0.25rem 0 0;
  white-space: nowrap;
  text-decoration: none;
  border: none;
  cursor: pointer;
}

/* line 31, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-nav-tab:hover {
  background: rgba(255, 255, 255, 0.2);
  color: #fff;
}

/* line 37, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-nav-tab--active {
  background: #f9fafc;
  color: #175590;
  font-weight: 600;
}

/* line 42, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-nav-tab--active:hover {
  background: #f9fafc;
  color: #175590;
}

/* line 48, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-nav-tab--settings.chemman-nav-tab--active,
button.chemman-nav-tab--active {
  background: #fff;
  color: #175590;
}

/* line 54, app/assets/stylesheets/components/_chemman_header.scss */
.chemman-app-header__user-action {
  font-size: 12px;
}

/* line 1, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
}

/* line 5, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__link {
  word-break: break-word;
}

/* line 8, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__link--root {
  font-weight: 600;
  color: #175590;
}

/* line 12, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__link--root:hover {
  color: #124a73;
}

/* line 17, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__link--segment {
  font-weight: 400;
  color: #0f172a;
}

/* line 21, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__link--segment:hover {
  color: #334155;
  text-decoration: underline;
}

/* line 28, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__label {
  font-size: 13px;
  font-weight: 400;
  word-break: break-word;
  color: #0f172a;
}

/* line 34, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__label--root {
  font-weight: 600;
  color: #175590;
}

/* line 40, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__current {
  display: inline-flex;
  align-items: center;
  padding: 0.125rem 0.5rem;
  font-weight: 400;
  color: #0f172a;
  word-break: break-word;
  background-color: #e2e8f0;
  border-radius: 0.25rem;
}

/* line 51, app/assets/stylesheets/components/_chemman_breadcrumbs.scss */
.breadcrumbs-nav--chemman .breadcrumbs__separator {
  display: inline-flex;
  align-items: center;
  padding: 0 0.25rem;
  color: #94a3b8;
}

/* ChemMan material sidebar — soft depth on the left edge only (no left border) */
/* line 2, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-material-sidebar,
.chemman-wizard-sidebar {
  box-shadow: -4px 0 12px -6px rgba(15, 23, 42, 0.12), -1px 0 3px -1px rgba(15, 23, 42, 0.06);
}

/* Report generation wizard step sidebar */
/* line 8, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-sidebar {
  font-size: 13px;
}

/* line 11, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-sidebar nav a,
.chemman-wizard-sidebar nav > div {
  font-size: 13px;
}

/* Wizard page shell — fixed slot height so every step card matches Step 1 */
/* line 18, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell {
  flex: 1 1 auto;
  height: calc(100vh - 13rem);
  min-height: calc(100vh - 13rem);
  max-height: calc(100vh - 13rem);
  overflow: hidden;
}

@supports (height: 100dvh) {
  /* line 27, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
  .chemman-wizard-page-shell {
    height: calc(100dvh - 13rem);
    min-height: calc(100dvh - 13rem);
    max-height: calc(100dvh - 13rem);
  }
}

/* line 34, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__content,
.chemman-wizard-page-shell__pane {
  min-height: 0;
  overflow: hidden;
}

/* line 40, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__content {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  height: 100%;
}

/* line 47, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__pane {
  display: flex;
  flex: 1 1 auto;
  flex-direction: row;
  align-items: stretch;
  height: 100%;
  overflow: hidden;
}

/* line 56, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__pane > .chemman-wizard-sidebar {
  min-height: 0;
}

/* line 60, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__pane > .flex.items-stretch {
  flex: 1 1 auto;
  height: 100%;
  min-height: 0;
  min-width: 0;
}

/* line 67, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__pane > .flex.items-stretch > .flex.flex-col {
  height: 100%;
  min-height: 0;
}

/* line 72, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-wizard-page-shell__pane .wizard-card {
  flex: 1 1 auto;
  height: 100%;
  margin-bottom: 0;
  min-height: 0;
  min-width: 0;
  max-height: 100%;
}

/* Wizard step card — fixed height with header, scrollable body, fixed footer */
/* line 82, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card {
  display: flex;
  flex-direction: column;
  height: 100%;
  max-height: 100%;
  min-height: 0;
  overflow: hidden;
  /* Legacy layout: form still inside px-6 wrapper */
}

/* line 90, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card__header {
  flex-shrink: 0;
  border-bottom: 1px solid #e5e7eb;
}

/* line 95, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card__form {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

/* line 103, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card__body {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 1rem 1.5rem;
}

/* line 109, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card__body--flush {
  padding: 0;
}

/* line 114, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card__footer {
  flex-shrink: 0;
  margin-top: auto;
  padding: 0.75rem 1.5rem;
  border-top: 1px solid #e5e7eb;
  background: #fff;
}

/* line 123, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card > [class*="px-6"] {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  margin-bottom: 0 !important;
}

/* line 132, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card > [class*="px-6"] > form {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow-y: auto;
}

/* line 140, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.wizard-card > [class*="px-6"] > form > .wizard-card__footer {
  position: sticky;
  bottom: 0;
  margin-top: auto;
  margin-left: -1.5rem;
  margin-right: -1.5rem;
  width: calc(100% + 3rem);
}

/* Onboarding wizard — Properties step inline rows */
/* line 151, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form {
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
  font-size: 12px;
}

/* line 157, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form label,
.chemman-onboarding-prop-form input:not([type="checkbox"]),
.chemman-onboarding-prop-form select,
.chemman-onboarding-prop-form .ts-wrapper,
.chemman-onboarding-prop-form .ts-wrapper .ts-control,
.chemman-onboarding-prop-form .ts-wrapper .ts-control input {
  font-size: 12px !important;
}

/* line 166, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form input:not([type="checkbox"]),
.chemman-onboarding-prop-form select,
.chemman-onboarding-prop-form button:not([type="submit"]) {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  box-sizing: border-box;
}

/* line 177, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form .ts-wrapper {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  box-sizing: border-box;
  width: 100%;
  overflow: hidden;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: #fff;
}

/* line 189, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form .ts-wrapper.focus,
.chemman-onboarding-prop-form .ts-wrapper.dropdown-active {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
}

/* line 196, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form .ts-wrapper .ts-control {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 8px !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}

/* line 209, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form .ts-wrapper .ts-control input {
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
  flex: 1;
}

/* line 216, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-form .ts-wrapper .ts-control .item {
  line-height: 30px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* line 224, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row {
  display: grid;
  grid-template-columns: minmax(0, 28%) minmax(0, 1fr);
  column-gap: 1rem;
  align-items: center;
  width: 100%;
  min-width: 0;
  max-width: 100%;
  box-sizing: border-box;
}

/* line 234, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row:has(.chemman-onboarding-prop-secondary) {
  grid-template-columns: minmax(0, 28%) minmax(0, 1fr) minmax(0, 1fr);
}

/* line 238, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row > label,
.chemman-onboarding-prop-row > span {
  grid-column: 1;
  line-height: 1.35;
  padding-right: 0.5rem;
  white-space: normal;
  min-width: 0;
  overflow-wrap: anywhere;
}

/* line 248, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row > input,
.chemman-onboarding-prop-row > select,
.chemman-onboarding-prop-row > button,
.chemman-onboarding-prop-row > .ts-wrapper {
  grid-column: 2;
  width: 100% !important;
  min-width: 0;
}

/* line 257, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row .chemman-onboarding-prop-primary {
  grid-column: 2;
  min-width: 0;
}

/* line 261, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row .chemman-onboarding-prop-primary input, .chemman-onboarding-prop-row .chemman-onboarding-prop-primary select, .chemman-onboarding-prop-row .chemman-onboarding-prop-primary button, .chemman-onboarding-prop-row .chemman-onboarding-prop-primary .ts-wrapper {
  width: 100% !important;
}

/* line 264, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row .chemman-onboarding-prop-secondary {
  grid-column: 3;
  min-width: 0;
}

/* line 268, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row .chemman-onboarding-prop-secondary input, .chemman-onboarding-prop-row .chemman-onboarding-prop-secondary select, .chemman-onboarding-prop-row .chemman-onboarding-prop-secondary button, .chemman-onboarding-prop-row .chemman-onboarding-prop-secondary .ts-wrapper {
  width: 100% !important;
}

/* line 271, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row .chemman-onboarding-prop-checkbox {
  grid-column: 2;
  display: flex;
  align-items: center;
  gap: 0.5rem;
  min-width: 0;
}

/* line 278, app/assets/stylesheets/components/_chemman_material_sidebar.scss */
.chemman-onboarding-prop-row .chemman-onboarding-prop-checkbox label {
  overflow-wrap: anywhere;
}

/* ChemMan materials search — simple_form wrapper alignment */
/* line 2, app/assets/stylesheets/components/_chemman_material_search.scss */
[data-controller="material-search"] {
  /* Fallback before TomSelect inits — native multi-select is a tall listbox */
}

/* line 3, app/assets/stylesheets/components/_chemman_material_search.scss */
[data-controller="material-search"] .mb-2 {
  display: flex;
  align-items: center;
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  margin-bottom: 0 !important;
  overflow: hidden;
}

/* line 14, app/assets/stylesheets/components/_chemman_material_search.scss */
[data-controller="material-search"] select[multiple]:not([data-ts-initialized]) {
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  overflow: hidden;
}

/* line 3, app/assets/stylesheets/components/_chemman_modal_buttons.scss */
.chemman-app .lupin-modal__container .lupin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
  font-size: 0.75rem;
  --lupin-btn-min-height: 30px;
  --lupin-btn-line-height: 1;
}

/* line 20, app/assets/stylesheets/components/_chemman_modal_buttons.scss */
.chemman-app .lupin-modal__container .modal-footer,
.chemman-app .lupin-modal__container .lupin-modal__footer,
.chemman-app .lupin-modal__container .copy-classifications-modal__footer,
.chemman-app .lupin-modal__container .statements-modal__footer {
  align-items: center;
}

/* line 1, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  padding: 1.5rem 1.5rem 2rem;
}

/* line 9, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__search {
  position: relative;
  flex: 1 1 16rem;
  min-width: 12rem;
  max-width: 28rem;
}

/* line 15, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__search .chemman-task-request-toolbar__search-icon {
  position: absolute;
  inset-block: 0;
  left: 0;
  display: flex;
  align-items: center;
  padding-left: 0.75rem;
  pointer-events: none;
  color: #9ca3af;
}

/* line 26, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__search input[type="text"] {
  width: 100%;
}

/* line 31, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 39, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  flex-shrink: 0;
}

/* line 45, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort label {
  flex-shrink: 0;
  font-size: 12px;
  font-weight: 600;
  color: #374151;
  white-space: nowrap;
}

/* line 54, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field {
  width: 11.5rem;
  min-width: 11.5rem;
  flex-shrink: 0;
}

/* line 59, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field select {
  width: 100%;
}

/* line 63, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field .ts-wrapper {
  width: 11.5rem !important;
  min-width: 11.5rem !important;
  max-width: 11.5rem !important;
}

/* line 69, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field .ts-dropdown {
  min-width: 11.5rem;
}

/* line 73, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field .ts-control .item {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  max-width: 100%;
}

/* line 80, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field .ts-wrapper.single .ts-control > input {
  position: absolute !important;
  width: 0 !important;
  min-width: 0 !important;
  max-width: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  opacity: 0;
}

/* line 90, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field .ts-wrapper.single.has-items .ts-control > input {
  display: none !important;
}

/* line 97, app/assets/stylesheets/components/_chemman_task_requests.scss */
.chemman-task-request-toolbar__sort-field.chemman-compact-search .ts-wrapper .ts-control {
  padding-right: 1.5rem !important;
}

/* line 3, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-segmented a {
  font-size: 12px !important;
  line-height: 1.25;
  padding-top: 0.625rem !important;
  padding-bottom: 0.625rem !important;
}

/* line 10, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-panel {
  font-size: 12px;
}

/* line 13, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-panel h2,
.chemman-app .chemman-list-panel h5 {
  font-size: 12px;
}

/* line 18, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-panel table {
  font-size: 12px;
}

/* line 22, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-panel thead th {
  font-size: 12px;
  font-weight: 600;
}

/* line 27, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-panel tbody td,
.chemman-app .chemman-list-panel tbody th {
  font-size: 12px;
}

/* line 32, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-panel .lupin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
  font-size: 12px;
  --lupin-btn-min-height: 30px;
  --lupin-btn-line-height: 1;
}

/* line 50, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-icon-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 1.75rem;
  height: 1.75rem;
  padding: 0;
  color: var(--chemman-icon-button-color, #1b1b1c);
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0.25rem;
  line-height: 1;
  transition: background-color 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

/* line 68, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-icon-button:hover {
  color: var(--chemman-icon-button-hover-color, #312e81);
  background: var(--chemman-icon-button-hover-bg, #eef2ff);
}

/* line 74, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-icon-button--danger {
  --chemman-icon-button-color: #dc2626;
  --chemman-icon-button-hover-color: #991b1b;
  --chemman-icon-button-hover-bg: #fef2f2;
}

/* line 81, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-filters input[type="text"],
.chemman-app .chemman-list-filters input[type="email"],
.chemman-app .chemman-list-filters input[type="search"],
.chemman-app .chemman-list-filters select:not([multiple]) {
  height: 30px;
  min-height: 30px;
  max-height: 30px;
  box-sizing: border-box;
  padding-top: 0;
  padding-bottom: 0;
  font-size: 12px;
  line-height: 1;
}

/* line 95, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-list-filters label {
  font-size: 12px;
}

/* line 100, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-advanced-search {
  font-size: 12px;
}

/* line 103, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-advanced-search h3,
.chemman-app .chemman-advanced-search label,
.chemman-app .chemman-advanced-search .col-form-label,
.chemman-app .chemman-advanced-search .form-label {
  font-size: 12px;
}

/* line 110, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-advanced-search .advanced-search-form input[type="text"],
.chemman-app .chemman-advanced-search .advanced-search-form select,
.chemman-app .chemman-advanced-search .advanced-search-form textarea {
  font-size: 12px;
}

/* line 118, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-advanced-search.chemman-compact-search .ts-wrapper .ts-control,
.chemman-app .chemman-advanced-search.chemman-compact-search .ts-wrapper .ts-control > input,
.chemman-app .chemman-advanced-search.chemman-compact-search .ts-wrapper .ts-control .item {
  font-size: 12px !important;
}

/* line 124, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-advanced-search.chemman-compact-search .ts-dropdown .option {
  font-size: 12px;
}

/* line 131, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-materials-list-table__actions > .relative,
.chemman-app .chemman-materials-list-table__actions > a,
.chemman-app .chemman-materials-list-table__actions > span {
  max-width: 100%;
}

/* line 139, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-settings-form {
  font-size: 12px;
  line-height: 1.25;
}

/* line 143, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-settings-form label,
.chemman-app .chemman-settings-form .col-form-label,
.chemman-app .chemman-settings-form legend {
  font-size: 13px !important;
  line-height: 1.25 !important;
}

/* line 150, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-settings-form .mb-2 {
  margin-bottom: 0 !important;
}

/* line 154, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-settings-form p.text-red-600,
.chemman-app .chemman-settings-form .hint,
.chemman-app .chemman-settings-form .form-text {
  font-size: 12px !important;
}

/* line 160, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-settings-form input:not([type="checkbox"]):not([type="radio"]),
.chemman-app .chemman-settings-form select {
  font-size: 12px !important;
}

/* line 165, app/assets/stylesheets/components/_chemman_list_pages.scss */
.chemman-app .chemman-settings-form .lupin-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-shrink: 0;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
  line-height: 1 !important;
  font-size: 12px !important;
}

/* line 8, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__frame {
  position: relative;
  background-color: #eef2f7;
}

/* line 13, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__viewport {
  position: relative;
  overflow: hidden;
  height: 680px;
  padding: 16px;
}

/* line 20, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__plane {
  position: relative;
  min-width: 100%;
  min-height: 100%;
  background-image: linear-gradient(to right, rgba(148, 163, 184, 0.18) 1px, transparent 1px), linear-gradient(to bottom, rgba(148, 163, 184, 0.18) 1px, transparent 1px);
  background-size: var(--cell, 30px) var(--cell, 30px);
  border-radius: 10px;
}

/* line 32, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  overflow: visible;
}

/* line 42, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__boundary {
  position: absolute;
  top: 8px;
  left: 8px;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  font-size: 10px;
  font-weight: 600;
  color: #475569;
  background: rgba(255, 255, 255, 0.9);
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  text-decoration: none;
}

/* line 59, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__boundary--clickable {
  cursor: pointer;
}

/* line 62, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__boundary--clickable:hover {
  color: #1e40af;
  border-color: #bfdbfe;
  background: #eff6ff;
}

/* line 70, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area {
  position: absolute;
  z-index: 3;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
  padding: 12px 14px;
  background: color-mix(in srgb, var(--area-color, #94a3b8) 12%, transparent);
  border: 2px solid var(--area-color, #94a3b8);
  border-radius: 12px;
  cursor: grab;
  user-select: none;
  touch-action: none;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
  transition: box-shadow 0.15s ease;
  overflow: hidden;
}

/* line 88, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area:hover {
  box-shadow: 0 4px 12px rgba(15, 23, 42, 0.16);
}

/* line 92, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area--dragging {
  cursor: grabbing;
  z-index: 20;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.24);
  transition: none;
}

/* line 99, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area[data-shape="circle"] {
  border-radius: 50%;
  align-items: center;
  justify-content: center;
  text-align: center;
}

/* line 107, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__status-dot {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  background: #94a3b8;
}

/* line 118, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area[data-shape="circle"] .site-map__status-dot {
  top: 16%;
  right: 16%;
}

/* line 124, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area-title {
  padding-right: 14px;
  font-size: 12px;
  font-weight: 700;
  color: #0f172a;
  line-height: 1.25;
}

/* line 132, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area-sub {
  margin-top: 3px;
  font-size: 10px;
  font-weight: 600;
  color: var(--area-color, #64748b);
}

/* line 139, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area-foot {
  margin-top: auto;
  padding-top: 8px;
  font-size: 10px;
  color: #94a3b8;
}

/* line 145, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area[data-shape="circle"] .site-map__area-foot {
  margin-top: 4px;
  padding-top: 0;
}

/* line 153, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area[data-status="within_capacity"] .site-map__status-dot {
  background: #10b981;
}

/* line 154, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area[data-status="unit_mismatch"] .site-map__status-dot {
  background: #f59e0b;
}

/* line 155, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__area[data-status="over_capacity"] .site-map__status-dot {
  background: #ef4444;
}

/* line 157, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__feature {
  position: absolute;
  z-index: 4;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 3px;
  cursor: grab;
  user-select: none;
  touch-action: none;
}

/* line 168, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__feature--dragging {
  cursor: grabbing;
  z-index: 20;
}

/* line 174, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__feature-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: #fff7ed;
  border: 1px solid #fed7aa;
  color: #ea580c;
}

/* line 186, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__feature[data-feature-type="gate"] .site-map__feature-icon, .site-map__feature[data-feature-type="office"] .site-map__feature-icon {
  background: #eff6ff;
  border-color: #bfdbfe;
  color: #2563eb;
}

/* line 193, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__feature-label {
  padding: 1px 6px;
  font-size: 10px;
  font-weight: 500;
  color: #334155;
  background: rgba(255, 255, 255, 0.92);
  border: 1px solid #e2e8f0;
  border-radius: 999px;
  white-space: nowrap;
}

/* line 204, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__distance-line {
  stroke: #38bdf8;
  stroke-width: 1.5;
  stroke-dasharray: 4 3;
}

/* line 210, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__distance-label {
  fill: #0369a1;
  font-size: 10px;
  font-weight: 600;
}

/* line 216, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__compass {
  position: absolute;
  top: 24px;
  right: 24px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  font-size: 10px;
  font-weight: 700;
  color: #64748b;
  pointer-events: none;
}

/* line 230, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__scale {
  position: absolute;
  left: 28px;
  bottom: 20px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  font-size: 10px;
  font-weight: 600;
  color: #475569;
  pointer-events: none;
}

/* line 245, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__scale-bar {
  height: 6px;
  border: 1px solid #64748b;
  border-top: none;
  width: 80px;
}

/* line 252, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__zoom {
  position: absolute;
  right: 20px;
  bottom: 20px;
  z-index: 5;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid #e2e8f0;
  border-radius: 8px;
  overflow: hidden;
  box-shadow: 0 1px 2px rgba(15, 23, 42, 0.08);
}

/* line 266, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__zoom-btn {
  width: 30px;
  height: 30px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  color: #334155;
  background: #ffffff;
}

/* line 276, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__zoom-btn:hover {
  background: #f1f5f9;
}

/* line 277, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__zoom-btn + .site-map__zoom-btn {
  border-top: 1px solid #e2e8f0;
}

/* line 280, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__zoom-level {
  position: absolute;
  right: 60px;
  bottom: 26px;
  z-index: 5;
  font-size: 10px;
  font-weight: 600;
  color: #475569;
  pointer-events: none;
}

/* line 291, app/assets/stylesheets/components/_chemman_site_map.scss */
.site-map__empty {
  position: absolute;
  inset: 0;
  z-index: 6;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  padding: 24px;
}

/* Fixed vertical Help tab — legacy ChemMan / AsbMan style */
/* line 2, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab {
  position: fixed;
  right: 0;
  top: 50%;
  z-index: 30;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.125rem 0.4375rem;
  border: none;
  border-radius: 0.375rem 0 0 0.375rem;
  color: #fff;
  box-shadow: -2px 2px 10px rgba(15, 23, 42, 0.18);
  cursor: pointer;
  transform: translateY(-50%);
  transition: background-color 0.15s ease-in-out;
}

/* line 19, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab:hover {
  color: #fff;
}

/* line 23, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab:focus {
  outline: 2px solid rgba(255, 255, 255, 0.85);
  outline-offset: 2px;
}

/* line 28, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab__label {
  display: block;
  font-size: 11px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.02em;
  white-space: nowrap;
  writing-mode: vertical-rl;
  text-orientation: mixed;
  transform: rotate(180deg);
}

/* line 41, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab--chemman {
  background-color: #4e8ab7;
}

/* line 44, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab--chemman:hover {
  background-color: #215f97;
}

/* line 48, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab--chemman:focus {
  outline-color: #4e8ab7;
}

/* line 53, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab--asbman {
  background-color: #4f63c5;
}

/* line 56, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab--asbman:hover {
  background-color: #2f4092;
}

/* line 60, app/assets/stylesheets/components/_help_tab_button.scss */
.lupin-help-tab--asbman:focus {
  outline-color: #4f63c5;
}

/* AsbMan site list search — scoped; isolated from ChemMan material-search styles */
/* line 2, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search {
  font-size: 12px;
  line-height: 1.25;
}

/* line 6, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search label {
  font-size: 12px;
}

/* line 10, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search h3 {
  font-size: 12px;
}

/* line 14, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .sites-search__query-input {
  box-sizing: border-box;
  height: 32px;
  min-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 32px;
}

/* line 23, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .sites-search__toolbar {
  margin-top: 0.75rem;
}

/* line 27, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .sites-search__quick-btn,
.form-search--asbman.sites-search .sites-search__action-btn {
  font-size: 12px;
}

/* line 32, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .mb-2 {
  margin-bottom: 0.5rem;
}

/* line 36, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .ts-wrapper {
  box-sizing: border-box;
  width: 100%;
  min-height: 32px;
  padding: 0;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: #fff;
}

/* line 45, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .ts-wrapper .ts-control {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  min-height: 32px;
  margin: 0 !important;
  padding: 0 8px !important;
  overflow: hidden;
  font-size: 12px;
  line-height: 1.25;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* line 59, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .ts-wrapper .ts-control > input {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* line 64, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .ts-wrapper .ts-control .item {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* line 70, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .ts-wrapper.multi .ts-control > div {
  font-size: 12px !important;
  line-height: 1.25 !important;
}

/* line 76, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search .ts-dropdown .option {
  font-size: 12px;
  padding: 4px 8px;
  color: #111827;
}

/* line 82, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search select {
  box-sizing: border-box;
  height: 32px;
  min-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 1.25;
}

/* line 91, app/assets/stylesheets/components/_asbman_sites_search.scss */
.form-search--asbman.sites-search input.flatpickr,
.form-search--asbman.sites-search input[type="date"] {
  box-sizing: border-box;
  height: 32px;
  min-height: 32px;
  padding: 0 8px;
  font-size: 12px;
  line-height: 32px;
}

/* line 102, app/assets/stylesheets/components/_asbman_sites_search.scss */
body > .ts-dropdown .option {
  color: #111827;
}

/* Site show — Primary Attachments: contain QR + actions inside the third overview column */
/* line 2, app/assets/stylesheets/components/_site_show_primary_attachments.scss */
.attachments-details {
  max-width: 100%;
}

/* line 5, app/assets/stylesheets/components/_site_show_primary_attachments.scss */
.attachments-details .attachments-details__qr-box {
  line-height: 0;
  max-width: 100%;
  overflow: hidden;
}

/* line 10, app/assets/stylesheets/components/_site_show_primary_attachments.scss */
.attachments-details .attachments-details__qr-box svg {
  display: block;
  width: 100% !important;
  height: auto !important;
  max-width: 6.5rem;
  max-height: 6.5rem;
}

/* line 20, app/assets/stylesheets/components/_site_show_primary_attachments.scss */
.site-show-overview > div {
  min-width: 0;
  overflow: hidden;
}

/* line 1, app/assets/stylesheets/components/_login.scss */
.lupin-login__wrapper {
  position: relative;
  background-color: #fff;
  background-image: url(/assets/shared/bg-9db56a1d92ac5ecf7dd035a102fcbd10571ed314de06b729dcf00515ac4bf102.png);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0;
}

/* line 10, app/assets/stylesheets/components/_login.scss */
.lupin-login__wrapper::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(to bottom, #eef0f7af, #6dc5f828);
  z-index: 1;
}

/* line 18, app/assets/stylesheets/components/_login.scss */
.lupin-login__wrapper > * {
  position: relative;
  z-index: 2;
}

/* line 24, app/assets/stylesheets/components/_login.scss */
.onboarding-shell__brand {
  position: relative;
  background-color: #131b3d;
  background-image: url(/assets/shared/discussion-with-laptop-f9cbcc68b9425e0cf3a6ff6bf66c3d9e481eb7967244cff2d62c0bc07905b92f.jpg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  z-index: 0;
}

/* line 33, app/assets/stylesheets/components/_login.scss */
.onboarding-shell__brand::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(39, 60, 140, 0.9);
  z-index: 1;
}

/* line 42, app/assets/stylesheets/components/_login.scss */
.onboarding-shell__brand > * {
  position: relative;
  z-index: 2;
}

/* line 1, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li {
  background: url(/assets/chemman/ppe-icons-4d66843db04748b87fa233c791fef350004a33a3378ef7e7d2e8a7bbeeabfd7d.png) no-repeat center top;
}

/* line 5, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons.ppe-icons--onboarding li.ppe-icon--onboarding {
  width: 75px;
  height: 75px;
  transform: scale(0.75);
  transform-origin: top left;
}

/* line 12, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons.ppe-icons--onboarding .ppe-icon-label--onboarding {
  top: 80px;
  line-height: 1.1;
}

/* line 17, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.danger {
  background-position: center -0px;
}

/* line 18, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.rubber-boots {
  background-position: center -75px;
}

/* line 19, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.safety-shoes {
  background-position: center -75px;
}

/* line 20, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.hemlet {
  background-position: center -150px;
}

/* line 21, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.chemical-goggles {
  background-position: center -225px;
}

/* line 22, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.respirator {
  background-position: center -300px;
}

/* line 23, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.face-shield {
  background-position: center -375px;
}

/* line 24, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.overalls {
  background-position: center -450px;
}

/* line 25, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.gloves {
  background-position: center -525px;
}

/* line 26, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.ear-muffs {
  background-position: center -600px;
}

/* line 27, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.dust-mask {
  background-position: center -675px;
}

/* line 28, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.apron {
  background-position: center -750px;
}

/* line 29, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.air-mask {
  background-position: center -825px;
}

/* line 30, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.safety-glasses {
  background-position: center -900px;
}

/* line 31, app/assets/stylesheets/components/materials/_ppe_icons.scss */
ul.ppe-icons li.positive-pressure-suit {
  background-position: center -975px;
}

/* line 2, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 9999;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease-in-out;
}

/* line 16, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox.hidden {
  display: none;
}

/* line 20, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox:not(.hidden) {
  opacity: 1;
  pointer-events: all;
}

/* line 26, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__backdrop {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  background-color: rgba(0, 0, 0, 0.9);
  backdrop-filter: blur(4px);
  cursor: pointer;
}

/* line 37, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__container {
  position: relative;
  max-width: 95vw;
  max-height: 95vh;
  z-index: 10000;
  animation: lightboxZoom 0.3s ease-out;
}

/* line 45, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__image-wrapper {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 100%;
  max-height: 100%;
}

/* line 54, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__image {
  max-width: 100%;
  max-height: 95vh;
  object-fit: contain;
  border-radius: 8px;
  box-shadow: 0 20px 60px rgba(0, 0, 0, 0.5);
}

/* line 62, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__close {
  position: absolute;
  top: -40px;
  right: 0;
  background: rgba(255, 255, 255, 0.1);
  border: 2px solid rgba(255, 255, 255, 0.3);
  border-radius: 50%;
  width: 40px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  color: white;
  transition: all 0.2s ease;
  z-index: 10001;
}

/* line 79, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__close:hover {
  background: rgba(255, 255, 255, 0.2);
  border-color: rgba(255, 255, 255, 0.5);
  transform: scale(1.1);
}

/* line 85, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox__close:active {
  transform: scale(0.95);
}

/* line 91, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox-trigger {
  cursor: pointer;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

/* line 95, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox-trigger:hover {
  transform: scale(1.05);
  opacity: 0.9;
}

/* line 100, app/assets/stylesheets/components/_lightbox.scss */
.image-lightbox-trigger:active {
  transform: scale(0.98);
}

@keyframes lightboxZoom {
  from {
    transform: scale(0.9);
    opacity: 0;
  }
  to {
    transform: scale(1);
    opacity: 1;
  }
}

@media (max-width: 640px) {
  /* line 118, app/assets/stylesheets/components/_lightbox.scss */
  .image-lightbox__close {
    top: 10px;
    right: 10px;
    background: rgba(0, 0, 0, 0.7);
    border-color: rgba(255, 255, 255, 0.5);
  }
  /* line 125, app/assets/stylesheets/components/_lightbox.scss */
  .image-lightbox__container {
    max-width: 100vw;
    padding: 10px;
  }
  /* line 130, app/assets/stylesheets/components/_lightbox.scss */
  .image-lightbox__image {
    max-height: 85vh;
  }
}

/* line 4, app/assets/stylesheets/components/_task_request.scss */
.dropzone {
  min-height: 200px;
  position: relative;
}

/* line 9, app/assets/stylesheets/components/_task_request.scss */
.dropzone.dz-default.dz-message {
  display: block !important;
  margin: 2em 0;
}

/* line 15, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-message {
  text-align: center;
  margin: 2em 0;
}

/* line 19, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-message i {
  font-size: 3rem;
  color: #9ca3af;
  margin-bottom: 0.75rem;
  display: block;
}

/* line 26, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-message p {
  margin: 0.5rem 0;
  font-size: 0.75rem;
  color: #4b5563;
}

/* line 34, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-preview {
  margin: 10px;
  display: inline-block;
  vertical-align: top;
}

/* line 40, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-preview .dz-image {
  width: 120px;
  height: 120px;
  border-radius: 4px;
  overflow: hidden;
}

/* line 47, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-preview .dz-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* line 53, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-preview .dz-details {
  padding: 8px;
  font-size: 12px;
}

/* line 58, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-preview .dz-filename {
  font-weight: 500;
  color: #374151;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 66, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-preview .dz-size {
  color: #6b7280;
  font-size: 11px;
}

/* line 71, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-progress {
  width: 100%;
  height: 4px;
  background: #e5e7eb;
  border-radius: 2px;
  margin-top: 8px;
  overflow: hidden;
}

/* line 80, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-progress .dz-upload {
  height: 100%;
  background: #3b82f6;
  transition: width 0.3s ease;
}

/* line 86, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-success-mark,
.dropzone .dz-error-mark {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  font-weight: bold;
}

/* line 101, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-success-mark {
  background: #10b981;
  color: white;
}

/* line 106, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-error-mark {
  background: #ef4444;
  color: white;
}

/* line 111, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-remove {
  margin-top: 8px;
  padding: 4px 8px;
  background: #ef4444;
  color: white;
  border: none;
  border-radius: 4px;
  cursor: pointer;
  font-size: 11px;
  transition: background 0.2s;
}

/* line 123, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-remove:hover {
  background: #dc2626;
}

/* line 127, app/assets/stylesheets/components/_task_request.scss */
.dropzone .dz-error-message {
  margin-top: 4px;
  font-size: 11px;
  color: #ef4444;
}

/* line 134, app/assets/stylesheets/components/_task_request.scss */
#material_groups_input + .ts-wrapper .ts-dropdown {
  max-height: 300px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* line 140, app/assets/stylesheets/components/_task_request.scss */
#material_groups_input + .ts-wrapper .ts-dropdown::-webkit-scrollbar {
  width: 8px;
}

/* line 144, app/assets/stylesheets/components/_task_request.scss */
#material_groups_input + .ts-wrapper .ts-dropdown::-webkit-scrollbar-track {
  background: #f7fafc;
  border-radius: 4px;
}

/* line 149, app/assets/stylesheets/components/_task_request.scss */
#material_groups_input + .ts-wrapper .ts-dropdown::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 4px;
}

/* line 154, app/assets/stylesheets/components/_task_request.scss */
#material_groups_input + .ts-wrapper .ts-dropdown::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

/* line 159, app/assets/stylesheets/components/_task_request.scss */
.autocomplete-results {
  max-height: 400px !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}

/* line 165, app/assets/stylesheets/components/_task_request.scss */
.autocomplete-results::-webkit-scrollbar {
  width: 8px;
}

/* line 169, app/assets/stylesheets/components/_task_request.scss */
.autocomplete-results::-webkit-scrollbar-track {
  background: #f7fafc;
  border-radius: 4px;
}

/* line 174, app/assets/stylesheets/components/_task_request.scss */
.autocomplete-results::-webkit-scrollbar-thumb {
  background: #cbd5e0;
  border-radius: 4px;
}

/* line 179, app/assets/stylesheets/components/_task_request.scss */
.autocomplete-results::-webkit-scrollbar-thumb:hover {
  background: #a0aec0;
}

/* line 185, app/assets/stylesheets/components/_task_request.scss */
.chemman-pagination-sm .pagination {
  margin-bottom: 0;
}

/* line 189, app/assets/stylesheets/components/_task_request.scss */
.chemman-pagination-sm .page-link {
  padding: 0.35rem 0.65rem;
  font-size: 0.75rem;
  line-height: 1.1;
  border-radius: 0.25rem !important;
}

/* line 196, app/assets/stylesheets/components/_task_request.scss */
.chemman-pagination-sm .page-item:first-child .page-link,
.chemman-pagination-sm .page-item:last-child .page-link {
  border-radius: 0.25rem !important;
}

/* Hide native select during Tom Select initialization to prevent flash */
/* line 2, app/assets/stylesheets/tools/_tom_select.scss */
select[data-controller~="select"]:not(.tomselected) {
  opacity: 0;
  pointer-events: none;
}

/* line 7, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper {
  cursor: pointer;
  padding: 0 4px;
}

/* line 11, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper .ts-control {
  border: none !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  background-image: none !important;
}

/* line 20, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper .ts-control > input,
.ts-wrapper .ts-control .item,
.ts-wrapper.multi .ts-control [data-value] {
  font-size: 12px;
  line-height: 1.25;
}

/* line 27, app/assets/stylesheets/tools/_tom_select.scss */
.ts-dropdown .option,
.ts-dropdown .optgroup-header,
.ts-dropdown .no-results,
.ts-dropdown .create {
  font-size: 12px;
  line-height: 1.25;
  color: #000000;
}

/* TomSelect option highlight state - improve contrast/visibility */
/* line 37, app/assets/stylesheets/tools/_tom_select.scss */
.ts-dropdown .option:hover,
.ts-dropdown .option.active,
.ts-dropdown .option.selected,
.ts-dropdown .option[data-selectable]:hover,
.ts-dropdown .option.active[data-selectable],
.ts-dropdown .option.selected[data-selectable] {
  background-color: #c7ddff !important;
  color: #0f172a !important;
}

/* Form-field TomSelect — matches custom_input_style text inputs (py-2 px-3 text-xs) */
/* line 48, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form,
.lupin-modal__content,
.announcement-form {
  /* Multi-select — growable field with pill chips (modal forms) */
}

/* line 51, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper,
.lupin-modal__content .ts-wrapper,
.announcement-form .ts-wrapper {
  box-sizing: border-box;
  width: 100%;
  padding: 0 !important;
  border: 1px solid #d1d5db;
  border-radius: 0.375rem;
  background: #fff;
}

/* line 60, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.single,
.chemman-settings-form .ts-wrapper:not(.multi),
.lupin-modal__content .ts-wrapper.single,
.lupin-modal__content .ts-wrapper:not(.multi),
.announcement-form .ts-wrapper.single,
.announcement-form .ts-wrapper:not(.multi) {
  height: auto !important;
  min-height: calc(1rem + 1rem + 2px) !important;
  max-height: none !important;
}

/* line 67, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper .ts-control,
.lupin-modal__content .ts-wrapper .ts-control,
.announcement-form .ts-wrapper .ts-control {
  display: flex !important;
  align-items: center !important;
  height: 100% !important;
  min-height: calc(1rem + 1rem) !important;
  max-height: none !important;
  margin: 0 !important;
  padding: 0.5rem 0.75rem !important;
  line-height: 1rem !important;
  font-size: 0.75rem !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}

/* line 83, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper .ts-control > *,
.chemman-settings-form .ts-wrapper .ts-control .item,
.chemman-settings-form .ts-wrapper .ts-control > input,
.lupin-modal__content .ts-wrapper .ts-control > *,
.lupin-modal__content .ts-wrapper .ts-control .item,
.lupin-modal__content .ts-wrapper .ts-control > input,
.announcement-form .ts-wrapper .ts-control > *,
.announcement-form .ts-wrapper .ts-control .item,
.announcement-form .ts-wrapper .ts-control > input {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.75rem !important;
  line-height: 1rem !important;
}

/* line 95, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.single .ts-control,
.chemman-settings-form .ts-wrapper:not(.multi) .ts-control,
.lupin-modal__content .ts-wrapper.single .ts-control,
.lupin-modal__content .ts-wrapper:not(.multi) .ts-control,
.announcement-form .ts-wrapper.single .ts-control,
.announcement-form .ts-wrapper:not(.multi) .ts-control {
  height: 100% !important;
  min-height: calc(1rem + 1rem) !important;
  max-height: none !important;
}

/* line 102, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.single:not(.has-items) .ts-control > input,
.chemman-settings-form .ts-wrapper:not(.multi):not(.has-items) .ts-control > input,
.lupin-modal__content .ts-wrapper.single:not(.has-items) .ts-control > input,
.lupin-modal__content .ts-wrapper:not(.multi):not(.has-items) .ts-control > input,
.announcement-form .ts-wrapper.single:not(.has-items) .ts-control > input,
.announcement-form .ts-wrapper:not(.multi):not(.has-items) .ts-control > input {
  display: inline-flex !important;
  flex: 1 1 auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  min-height: 1rem !important;
  height: auto !important;
  opacity: 1 !important;
  position: static !important;
}

/* line 115, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.single.has-items .ts-control > input,
.chemman-settings-form .ts-wrapper.has-items:not(.multi) .ts-control > input,
.lupin-modal__content .ts-wrapper.single.has-items .ts-control > input,
.lupin-modal__content .ts-wrapper.has-items:not(.multi) .ts-control > input,
.announcement-form .ts-wrapper.single.has-items .ts-control > input,
.announcement-form .ts-wrapper.has-items:not(.multi) .ts-control > input {
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
  margin: 0 !important;
}

/* line 123, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-dropdown .option,
.lupin-modal__content .ts-dropdown .option,
.announcement-form .ts-dropdown .option {
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
  padding: 4px 8px;
  white-space: nowrap;
}

/* line 131, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.multi,
.lupin-modal__content .ts-wrapper.multi,
.announcement-form .ts-wrapper.multi {
  height: auto !important;
  min-height: calc(1rem + 1rem + 2px) !important;
  max-height: none !important;
}

/* line 137, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.multi .ts-control,
.lupin-modal__content .ts-wrapper.multi .ts-control,
.announcement-form .ts-wrapper.multi .ts-control {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  align-content: center !important;
  gap: 0.25rem !important;
  height: auto !important;
  min-height: calc(1rem + 1rem) !important;
  max-height: none !important;
  padding: 0.375rem 0.75rem !important;
  overflow-x: hidden !important;
  overflow-y: hidden !important;
}

/* line 151, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.multi .ts-control > div,
.chemman-settings-form .ts-wrapper.multi .ts-control .item,
.chemman-settings-form .ts-wrapper.multi .ts-control [data-value],
.lupin-modal__content .ts-wrapper.multi .ts-control > div,
.lupin-modal__content .ts-wrapper.multi .ts-control .item,
.lupin-modal__content .ts-wrapper.multi .ts-control [data-value],
.announcement-form .ts-wrapper.multi .ts-control > div,
.announcement-form .ts-wrapper.multi .ts-control .item,
.announcement-form .ts-wrapper.multi .ts-control [data-value] {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  min-height: 1.375rem !important;
  margin: 0 !important;
  padding: 0.125rem 0.375rem !important;
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  background: #f3f4f6 !important;
  color: #374151 !important;
  border: 1px solid #d1d5db !important;
  border-radius: 0.25rem !important;
  box-shadow: none !important;
  text-shadow: none !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 177, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.multi .ts-control .item .remove,
.lupin-modal__content .ts-wrapper.multi .ts-control .item .remove,
.announcement-form .ts-wrapper.multi .ts-control .item .remove {
  border-left: 1px solid #d1d5db !important;
  padding: 0 0.125rem 0 0.25rem !important;
  margin-left: 0.25rem !important;
  line-height: 1 !important;
}

/* line 184, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.multi .ts-control > input,
.lupin-modal__content .ts-wrapper.multi .ts-control > input,
.announcement-form .ts-wrapper.multi .ts-control > input {
  flex: 1 0 6rem !important;
  width: auto !important;
  min-width: 6rem !important;
  min-height: 1.375rem !important;
  height: auto !important;
  padding: 0 !important;
  opacity: 1 !important;
  position: static !important;
}

/* line 195, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .ts-wrapper.multi.has-items .ts-control > input::placeholder,
.lupin-modal__content .ts-wrapper.multi.has-items .ts-control > input::placeholder,
.announcement-form .ts-wrapper.multi.has-items .ts-control > input::placeholder {
  color: transparent;
}

/* Compact 30px TomSelect — matches ChemMan search/filter text inputs */
/* line 206, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper,
.chemman-compact-search .ts-wrapper,
.chemman-app .chemman-list-filters .ts-wrapper,
[data-controller="material-search"] .ts-wrapper,
.lupin-modal__content .chemman-compact-search .ts-wrapper {
  box-sizing: border-box;
  width: 100%;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 1px solid #d1d5db;
  border-radius: 0.25rem;
  background: #fff;
  overflow: visible;
  cursor: pointer;
}

/* line 220, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper .ts-control,
.chemman-compact-search .ts-wrapper .ts-control,
.chemman-app .chemman-list-filters .ts-wrapper .ts-control,
[data-controller="material-search"] .ts-wrapper .ts-control,
.lupin-modal__content .chemman-compact-search .ts-wrapper .ts-control {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  height: 100% !important;
  min-height: 0 !important;
  max-height: 100% !important;
  margin: 0 !important;
  padding: 0 0.5rem !important;
  line-height: 1 !important;
  font-size: 0.75rem !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: hidden;
}

/* line 236, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper .ts-control > *,
.chemman-compact-search .ts-wrapper .ts-control > *,
.chemman-app .chemman-list-filters .ts-wrapper .ts-control > *,
[data-controller="material-search"] .ts-wrapper .ts-control > *,
.lupin-modal__content .chemman-compact-search .ts-wrapper .ts-control > * {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  margin: 0 !important;
  padding: 0 !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
}

/* line 246, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper .ts-control > input,
.chemman-compact-search .ts-wrapper .ts-control > input,
.chemman-app .chemman-list-filters .ts-wrapper .ts-control > input,
[data-controller="material-search"] .ts-wrapper .ts-control > input,
.lupin-modal__content .chemman-compact-search .ts-wrapper .ts-control > input {
  flex: 1 1 auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  height: auto !important;
  background: none !important;
  border: none !important;
  box-shadow: none !important;
}

/* line 257, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper:not(.multi) .ts-control .item,
.chemman-compact-search .ts-wrapper:not(.multi) .ts-control .item,
.chemman-app .chemman-list-filters .ts-wrapper:not(.multi) .ts-control .item,
[data-controller="material-search"] .ts-wrapper:not(.multi) .ts-control .item,
.lupin-modal__content .chemman-compact-search .ts-wrapper:not(.multi) .ts-control .item {
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 1.25rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 266, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper.single:not(.has-items) .ts-control > input, .chemman-groups-search .ts-wrapper:not(.multi):not(.has-items) .ts-control > input,
.chemman-compact-search .ts-wrapper.single:not(.has-items) .ts-control > input,
.chemman-compact-search .ts-wrapper:not(.multi):not(.has-items) .ts-control > input,
.chemman-app .chemman-list-filters .ts-wrapper.single:not(.has-items) .ts-control > input,
.chemman-app .chemman-list-filters .ts-wrapper:not(.multi):not(.has-items) .ts-control > input,
[data-controller="material-search"] .ts-wrapper.single:not(.has-items) .ts-control > input,
[data-controller="material-search"] .ts-wrapper:not(.multi):not(.has-items) .ts-control > input,
.lupin-modal__content .chemman-compact-search .ts-wrapper.single:not(.has-items) .ts-control > input,
.lupin-modal__content .chemman-compact-search .ts-wrapper:not(.multi):not(.has-items) .ts-control > input {
  width: 100% !important;
  max-width: 100% !important;
  opacity: 1 !important;
  position: static !important;
}

/* line 274, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper.single.has-items .ts-control > input, .chemman-groups-search .ts-wrapper.has-items:not(.multi) .ts-control > input,
.chemman-compact-search .ts-wrapper.single.has-items .ts-control > input,
.chemman-compact-search .ts-wrapper.has-items:not(.multi) .ts-control > input,
.chemman-app .chemman-list-filters .ts-wrapper.single.has-items .ts-control > input,
.chemman-app .chemman-list-filters .ts-wrapper.has-items:not(.multi) .ts-control > input,
[data-controller="material-search"] .ts-wrapper.single.has-items .ts-control > input,
[data-controller="material-search"] .ts-wrapper.has-items:not(.multi) .ts-control > input,
.lupin-modal__content .chemman-compact-search .ts-wrapper.single.has-items .ts-control > input,
.lupin-modal__content .chemman-compact-search .ts-wrapper.has-items:not(.multi) .ts-control > input {
  width: 0 !important;
  max-width: 0 !important;
  flex: 0 0 0 !important;
}

/* line 281, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper.multi .ts-control,
.chemman-compact-search .ts-wrapper.multi .ts-control,
.chemman-app .chemman-list-filters .ts-wrapper.multi .ts-control,
[data-controller="material-search"] .ts-wrapper.multi .ts-control,
.lupin-modal__content .chemman-compact-search .ts-wrapper.multi .ts-control {
  overflow-x: auto;
  overflow-y: hidden;
}

/* line 286, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper.multi .ts-control > div, .chemman-groups-search .ts-wrapper.multi .ts-control .item, .chemman-groups-search .ts-wrapper.multi .ts-control [data-value],
.chemman-compact-search .ts-wrapper.multi .ts-control > div,
.chemman-compact-search .ts-wrapper.multi .ts-control .item,
.chemman-compact-search .ts-wrapper.multi .ts-control [data-value],
.chemman-app .chemman-list-filters .ts-wrapper.multi .ts-control > div,
.chemman-app .chemman-list-filters .ts-wrapper.multi .ts-control .item,
.chemman-app .chemman-list-filters .ts-wrapper.multi .ts-control [data-value],
[data-controller="material-search"] .ts-wrapper.multi .ts-control > div,
[data-controller="material-search"] .ts-wrapper.multi .ts-control .item,
[data-controller="material-search"] .ts-wrapper.multi .ts-control [data-value],
.lupin-modal__content .chemman-compact-search .ts-wrapper.multi .ts-control > div,
.lupin-modal__content .chemman-compact-search .ts-wrapper.multi .ts-control .item,
.lupin-modal__content .chemman-compact-search .ts-wrapper.multi .ts-control [data-value] {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 12rem;
  height: 22px !important;
  margin: 0 4px 0 0 !important;
  padding: 0 0 0 4px !important;
  font-size: 0.75rem !important;
  line-height: 1 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 305, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-wrapper.multi .ts-control > input,
.chemman-compact-search .ts-wrapper.multi .ts-control > input,
.chemman-app .chemman-list-filters .ts-wrapper.multi .ts-control > input,
[data-controller="material-search"] .ts-wrapper.multi .ts-control > input,
.lupin-modal__content .chemman-compact-search .ts-wrapper.multi .ts-control > input {
  flex: 1 0 4rem !important;
  width: auto !important;
  min-width: 4rem !important;
}

/* line 312, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-groups-search .ts-dropdown .option,
.chemman-compact-search .ts-dropdown .option,
.chemman-app .chemman-list-filters .ts-dropdown .option,
[data-controller="material-search"] .ts-dropdown .option,
.lupin-modal__content .chemman-compact-search .ts-dropdown .option {
  font-size: 0.75rem !important;
  line-height: 1.25 !important;
  padding: 4px 8px;
  white-space: nowrap;
}

/* Body-appended TomSelect dropdowns — escape overflow clipping in compact containers */
/* line 321, app/assets/stylesheets/tools/_tom_select.scss */
body > .ts-dropdown {
  z-index: 2000;
}

/* line 327, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form .flatpickr-wrapper,
.lupin-modal__content .flatpickr-wrapper,
.chemman-app .flatpickr-wrapper {
  display: block;
  width: 100%;
}

/* line 332, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form input.flatpickr-input,
.chemman-settings-form .flatpickr-input,
.lupin-modal__content input.flatpickr-input,
.lupin-modal__content .flatpickr-input,
.chemman-app input.flatpickr-input,
.chemman-app .flatpickr-input {
  box-sizing: border-box !important;
  display: block !important;
  width: 100% !important;
  padding: 0.5rem 0.75rem !important;
  font-size: 0.75rem !important;
  line-height: 1rem !important;
  color: #111827 !important;
  background-color: #fff !important;
  border: 1px solid #d1d5db !important;
  border-radius: 0.375rem !important;
  min-height: calc(1rem + 1rem + 2px) !important;
  height: auto !important;
  margin: 0 !important;
  box-shadow: none !important;
}

/* line 350, app/assets/stylesheets/tools/_tom_select.scss */
.chemman-settings-form input.flatpickr-input:focus,
.chemman-settings-form .flatpickr-input:focus,
.lupin-modal__content input.flatpickr-input:focus,
.lupin-modal__content .flatpickr-input:focus,
.chemman-app input.flatpickr-input:focus,
.chemman-app .flatpickr-input:focus {
  border-color: #374151 !important;
  outline: none !important;
  box-shadow: none !important;
}

/* line 358, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.multi .ts-control [data-value] {
  background: #eaebec !important;
  color: #303030 !important;
  border: 1px solid #d2d3d4 !important;
  box-shadow: none !important;
  text-shadow: none !important;
}

/* line 366, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.multi .ts-control [data-value] .remove {
  color: #606060;
  font-weight: bold;
}

/* line 371, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.plugin-remove_button:not(.rtl) .item .remove {
  border-left: 1px solid #b5bbbe !important;
}

/* line 375, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.multi .ts-control > div.active {
  border: 1px solid #797979;
}

/* Single select: fixed height, truncate long selected labels */
/* line 380, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.single .ts-control,
.ts-wrapper:not(.multi) .ts-control {
  display: flex !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  overflow: hidden;
}

/* line 388, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.single .ts-control .item,
.ts-wrapper:not(.multi) .ts-control .item {
  flex: 1 1 auto;
  min-width: 0;
  max-width: calc(100% - 1.5rem);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 398, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.single.has-items .ts-control > input,
.ts-wrapper.has-items:not(.multi) .ts-control > input {
  flex: 0 0 auto;
  min-width: 0;
  width: 0 !important;
  max-width: 0;
  padding: 0 !important;
  margin: 0 !important;
}

/* line 408, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.single.dropdown-active .ts-control > input,
.ts-wrapper.dropdown-active:not(.multi) .ts-control > input {
  display: block !important;
  flex: 1 1 100% !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 2rem;
  text-align: left !important;
  direction: ltr !important;
}

/* line 419, app/assets/stylesheets/tools/_tom_select.scss */
.ts-wrapper.single.dropdown-active .ts-control .item,
.ts-wrapper.dropdown-active:not(.multi) .ts-control .item {
  display: none !important;
}

/* GHS modal: border under header, content scrolls, actions pinned to bottom */
/* line 425, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.ghs-modal {
  display: flex;
  flex-direction: column;
  width: 97vw;
  max-width: 1120px;
  min-width: 780px;
  max-height: calc(100vh - 24px);
  overflow: hidden !important;
}

/* line 435, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.ghs-modal .lupin-modal__header {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--lupin-color-gray-200, #e5e7eb);
  padding: 10px 16px;
  margin-bottom: 8px;
}

/* line 445, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.ghs-modal .lupin-modal__content {
  display: flex;
  flex-direction: column;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  padding: 0 14px 10px 14px;
  border-top: none;
}

/* line 455, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.ghs-modal .lupin-modal__content .ghs-modal__scroll {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100vh - 180px);
  padding-right: 4px;
  padding-bottom: 4px;
  /* keep compact vertical layout */
}

/* Keep full list visible when it fits; scroll only as fallback */
/* line 464, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.ghs-modal .ghs-modal__body--au .ghs-modal__scroll {
  overflow-y: auto;
  overflow-x: hidden;
  max-height: calc(100vh - 170px);
  padding-right: 6px;
  padding-bottom: 6px;
}

/* line 472, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.ghs-modal .lupin-modal__header-controls,
.lupin-modal__container.ghs-modal .ghs-modal__header-actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

/* line 479, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-modal__search {
  position: relative;
  width: 220px;
}

/* line 484, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-modal__search-icon {
  position: absolute;
  left: 0.5rem;
  top: 50%;
  transform: translateY(-50%);
  color: var(--lupin-color-gray-400, #9ca3af);
  pointer-events: none;
  display: inline-flex;
}

/* line 494, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-modal__search-input {
  display: block;
  width: 100%;
  height: 28px;
  padding: 0 0.625rem 0 1.75rem;
  font-size: 12px;
  line-height: 1.3;
  color: var(--lupin-color-gray-900, #111827);
  background: var(--lupin-color-white, #fff);
  border: 1px solid var(--lupin-color-gray-300, #d1d5db);
  border-radius: 0.375rem;
  outline: none;
}

/* line 508, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-modal__search-input:focus {
  border-color: var(--lupin-color-gray-500, #6b7280);
  box-shadow: 0 0 0 2px rgba(107, 114, 128, 0.12);
}

/* line 513, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-modal__search-input::placeholder {
  color: var(--lupin-color-gray-400, #9ca3af);
}

/* GHS hazard dropdown (floating panel inside modal) */
/* line 518, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper {
  position: relative;
}

/* line 522, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper .ghs-hazard-dropdown {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  left: 0 !important;
  right: 0 !important;
  z-index: 1060 !important;
  min-height: 0;
  max-height: 420px;
  overflow: hidden;
  border: 1px solid #d1d5db;
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 24px rgba(15, 23, 42, 0.14), 0 2px 8px rgba(15, 23, 42, 0.08);
}

/* line 537, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper .ghs-hazard-dropdown .ts-dropdown-content {
  max-height: 420px;
  overflow-y: auto;
  overflow-x: hidden;
}

/* line 543, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .optgroup .option {
  display: none;
}

/* line 547, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .optgroup.is-expanded .option {
  display: block;
}

/* line 551, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .optgroup-header {
  cursor: pointer;
}

/* line 555, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .optgroup.is-expanded .ghs-optgroup-header {
  background-color: #f8fafc;
}

/* Chevron: right when collapsed, down when expanded */
/* line 560, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .ghs-optgroup-chevron {
  display: inline-flex;
  align-items: center;
  min-width: 1em;
}

/* line 566, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .ghs-optgroup-chevron .ghs-chevron-down {
  display: none;
}

/* line 570, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .optgroup.is-expanded .ghs-optgroup-chevron .ghs-chevron-right {
  display: none;
}

/* line 574, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-hazard-dropdown .optgroup.is-expanded .ghs-optgroup-chevron .ghs-chevron-down {
  display: inline;
}

/* GHS select: show only "X selected" in the control, hide individual item tags */
/* line 579, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper .ts-control .item,
.ghs-select-wrapper .ts-control [data-ts-item],
.ghs-select-wrapper .ts-control [data-value] {
  display: none !important;
}

/* line 585, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper .ts-control {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  min-height: 42px;
}

/* line 592, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper .ts-control .ghs-select-count {
  flex: 1;
  min-width: 0;
  padding: 0 6px 0 0;
  font-size: inherit;
  color: inherit;
  line-height: inherit;
}

/* line 601, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper .ts-control .ghs-select-count.ghs-select-count--empty {
  display: none;
}

/* Keep input aligned when items are hidden */
/* line 606, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-select-wrapper.has-items .ts-control > input {
  margin: 0 !important;
  flex: 1;
  min-width: 120px;
}

/* line 612, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

/* line 618, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-column {
  border: 0;
  background: transparent;
}

/* line 623, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 210px;
  gap: 6px;
  align-items: start;
  padding: 2px 1px;
  border-bottom: 1px solid #eef2f7;
}

/* line 632, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-row:last-child {
  border-bottom: none;
}

/* line 636, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-row__label {
  font-size: 12px;
  color: #1f2937;
  line-height: 1.2;
  white-space: normal;
  overflow-wrap: anywhere;
  word-break: break-word;
  padding-top: 3px;
}

/* line 646, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-row__select {
  width: 100%;
  height: 28px;
  border: 1px solid #d1d5db;
  border-radius: 4px;
  background: #fff;
  padding: 0 6px 0 4px;
  font-size: 12px;
  line-height: 1.3;
  color: #111827;
}

/* line 658, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-row__select:focus {
  outline: none;
  border-color: #059669;
  box-shadow: 0 0 0 2px rgba(5, 150, 105, 0.15);
}

/* line 664, app/assets/stylesheets/tools/_tom_select.scss */
.ghs-au-row--matched {
  background-color: #fef2f2;
  box-shadow: inset 0 0 0 1px #ef4444;
  border-radius: 4px;
}

@media (max-width: 1100px) {
  /* line 671, app/assets/stylesheets/tools/_tom_select.scss */
  .lupin-modal__container.ghs-modal {
    width: 97vw;
    max-width: 1000px;
    min-width: 720px;
  }
  /* line 677, app/assets/stylesheets/tools/_tom_select.scss */
  .ghs-au-row {
    grid-template-columns: minmax(0, 1fr) 190px;
    gap: 6px;
  }
}

/* Physical & chemical properties modal only — fixed 30px TomSelect height */
/* line 685, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.single,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.dropdown-active,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.focus {
  box-sizing: border-box;
  width: 100%;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  padding: 0 !important;
  overflow: hidden;
}

/* line 699, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper .ts-control,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.single .ts-control,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi .ts-control,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.dropdown-active .ts-control,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi.dropdown-active .ts-control,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.single.dropdown-active .ts-control {
  display: flex !important;
  flex-wrap: nowrap !important;
  align-items: center !important;
  height: 30px !important;
  min-height: 30px !important;
  max-height: 30px !important;
  margin: 0 !important;
  padding: 0 0.5rem !important;
  line-height: 1 !important;
  border: none !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

/* line 721, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi .ts-control > div,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi .ts-control .item,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi .ts-control [data-value] {
  display: inline-flex !important;
  align-items: center !important;
  align-self: center !important;
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: 12rem;
  height: 22px !important;
  margin: 0 4px 0 0 !important;
  padding: 0 6px !important;
  font-size: 12px !important;
  line-height: 1 !important;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* line 740, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi .ts-control > input,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.multi.dropdown-active .ts-control > input {
  flex: 1 0 4rem !important;
  width: auto !important;
  min-width: 4rem !important;
  min-height: 0 !important;
  height: auto !important;
  opacity: 1 !important;
  position: static !important;
}

/* line 751, app/assets/stylesheets/tools/_tom_select.scss */
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.single.dropdown-active .ts-control > input,
.lupin-modal__container.chemman-material-properties-modal .chemman-material-properties-form .ts-wrapper.dropdown-active:not(.multi) .ts-control > input {
  display: block !important;
  flex: 1 1 auto !important;
  width: auto !important;
  max-width: 100% !important;
  min-width: 2rem !important;
  min-height: 0 !important;
  height: auto !important;
  opacity: 1 !important;
}

/* line 2, app/assets/stylesheets/components/_chemman_materials_guide.scss */
.materials-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 1280px) {
  /* line 2, app/assets/stylesheets/components/_chemman_materials_guide.scss */
  .materials-guide-layout {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

/* line 13, app/assets/stylesheets/components/_chemman_materials_guide.scss */
.materials-guide-layout__main {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}

@media (min-width: 1280px) {
  /* line 13, app/assets/stylesheets/components/_chemman_materials_guide.scss */
  .materials-guide-layout__main {
    grid-column: span 2 / span 2;
  }
}

/* line 24, app/assets/stylesheets/components/_chemman_materials_guide.scss */
.materials-guide-layout__sidebar {
  display: flex;
  flex-direction: column;
  gap: 1.5rem;
  min-width: 0;
}

/* line 31, app/assets/stylesheets/components/_chemman_materials_guide.scss */
.materials-guide-field-list {
  max-height: 40rem;
  overflow-y: auto;
}

/* line 36, app/assets/stylesheets/components/_chemman_materials_guide.scss */
.materials-guide-short-url-group {
  gap: 0.5rem;
}

/* line 39, app/assets/stylesheets/components/_chemman_materials_guide.scss */
.materials-guide-short-url-group .lupin-btn:focus-visible {
  outline: 2px solid var(--lupin-color-gray-800);
  outline-offset: 2px;
}

/* line 2, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-shell {
  width: 100%;
}

/* line 6, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.5rem;
  align-items: start;
}

@media (min-width: 768px) {
  /* line 6, app/assets/stylesheets/components/_user_guide.scss */
  .user-guide-layout {
    grid-template-columns: 200px minmax(0, 1fr);
  }
}

@media (min-width: 1024px) {
  /* line 6, app/assets/stylesheets/components/_user_guide.scss */
  .user-guide-layout {
    grid-template-columns: 220px minmax(0, 1fr);
  }
}

@media (min-width: 1280px) {
  /* line 6, app/assets/stylesheets/components/_user_guide.scss */
  .user-guide-layout {
    grid-template-columns: 240px minmax(0, 1fr);
  }
}

/* line 25, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-layout__main {
  min-width: 0;
}

/* line 29, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-sidebar {
  display: none;
  min-width: 0;
  width: 15rem;
}

@media (min-width: 768px) {
  /* line 29, app/assets/stylesheets/components/_user_guide.scss */
  .user-guide-sidebar {
    display: block;
    position: sticky;
    top: 1rem;
    align-self: start;
    max-height: calc(100vh - 2rem);
    overflow-y: auto;
  }
}

/* line 44, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-on-page {
  display: none;
  min-width: 0;
}

@media (min-width: 1280px) {
  /* line 44, app/assets/stylesheets/components/_user_guide.scss */
  .user-guide-on-page {
    display: block;
  }
}

/* line 53, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-mobile-section {
  margin-bottom: 1rem;
}

@media (min-width: 768px) {
  /* line 53, app/assets/stylesheets/components/_user_guide.scss */
  .user-guide-mobile-section {
    display: none;
  }
}

/* line 61, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose {
  display: flex;
  flex-direction: column;
  gap: 0.875rem;
  line-height: 1.65;
}

/* line 67, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose > h3 {
  margin-top: 0.75rem;
  margin-bottom: 0;
}

/* line 72, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose > h3:first-child {
  margin-top: 0;
}

/* line 76, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose > p,
.user-guide-prose > ul,
.user-guide-prose > ol,
.user-guide-prose > .not-prose {
  margin: 0;
}

/* line 83, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose ul,
.user-guide-prose ol {
  padding-left: 1.35rem;
  margin: 0;
}

/* line 89, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose ul {
  list-style: disc outside;
}

/* line 93, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose ol {
  list-style: decimal outside;
}

/* line 97, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose li {
  display: list-item;
  margin: 0;
}

/* line 102, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose li + li {
  margin-top: 0.4rem;
}

/* line 106, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose li::marker {
  color: #6b7280;
}

/* line 110, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose table {
  width: 100%;
  border-collapse: collapse;
  font-size: 13px;
}

/* line 116, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose th,
.user-guide-prose td {
  border: 1px solid #e5e7eb;
  padding: 0.625rem 0.75rem;
  text-align: left;
  vertical-align: top;
}

/* line 124, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose th {
  background-color: #f9fafb;
  font-weight: 600;
}

/* line 129, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose a {
  color: #175590;
  text-decoration: underline;
}

/* line 134, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-prose a:hover {
  color: #124a73;
}

/* line 139, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-endpoint__banner {
  border-left-width: 4px;
  border-left-color: #0284c7;
}

/* line 144, app/assets/stylesheets/components/_user_guide.scss */
.user-guide-endpoint__url {
  user-select: all;
}

@media (max-width: 1024px) {
  /* line 10, app/assets/stylesheets/responsive.scss */
  .company-primary-nav__company-name {
    max-width: 9rem;
  }
  /* line 14, app/assets/stylesheets/responsive.scss */
  .site-show-table__table th,
.site-show-table__table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 20, app/assets/stylesheets/responsive.scss */
  .deposit-show-table__table th,
.deposit-show-table__table td,
.deposit-index-table__table th,
.deposit-index-table__table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 28, app/assets/stylesheets/responsive.scss */
  .building-show-table__table th,
.building-show-table__table td,
.asbman-floors-table th,
.asbman-floors-table td {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media (max-width: 820px) {
  /* line 38, app/assets/stylesheets/responsive.scss */
  .dashboard-primary-nav__logo {
    max-width: 118px;
    height: auto;
  }
  /* line 43, app/assets/stylesheets/responsive.scss */
  .dashboard-primary-nav__actions {
    gap: 0.5rem;
  }
  /* line 47, app/assets/stylesheets/responsive.scss */
  .dashboard-primary-nav__switch {
    margin-left: 0.25rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
  /* line 53, app/assets/stylesheets/responsive.scss */
  .dashboard-primary-nav__switch-label {
    display: none;
  }
  /* line 57, app/assets/stylesheets/responsive.scss */
  .sites-search {
    padding: 1rem;
  }
  /* line 61, app/assets/stylesheets/responsive.scss */
  .sites-search__row {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  /* line 68, app/assets/stylesheets/responsive.scss */
  .sites-search__quick-btn {
    width: 100%;
    justify-content: space-between;
    min-height: 2.75rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  /* line 76, app/assets/stylesheets/responsive.scss */
  .sites-search__actions {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    gap: 0.5rem;
  }
  /* line 83, app/assets/stylesheets/responsive.scss */
  .sites-search__actions .sites-search__action-btn {
    flex: 1 1 calc(50% - 0.25rem);
    justify-content: center;
    min-height: 2.75rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  /* line 91, app/assets/stylesheets/responsive.scss */
  .sites-search__actions .sites-search__action-btn:last-child {
    flex-basis: 100%;
  }
  /* line 95, app/assets/stylesheets/responsive.scss */
  .sites-search__advanced-actions {
    display: flex;
    flex-direction: column;
    width: 100%;
    gap: 0.5rem;
  }
  /* line 102, app/assets/stylesheets/responsive.scss */
  .sites-search__advanced-actions .sites-search__action-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 107, app/assets/stylesheets/responsive.scss */
  .sites-search__date-range {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.5rem;
  }
  /* line 114, app/assets/stylesheets/responsive.scss */
  .sites-search__date-range > span {
    display: none;
  }
  /* line 118, app/assets/stylesheets/responsive.scss */
  .site-show-tabs {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* line 123, app/assets/stylesheets/responsive.scss */
  .site-show-tabs::-webkit-scrollbar {
    display: none;
  }
  /* line 127, app/assets/stylesheets/responsive.scss */
  .site-show-tabs button {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
  /* line 132, app/assets/stylesheets/responsive.scss */
  .site-show-details-table td {
    vertical-align: top;
  }
  /* line 136, app/assets/stylesheets/responsive.scss */
  .site-show-table__scroll {
    -webkit-overflow-scrolling: touch;
  }
  /* line 140, app/assets/stylesheets/responsive.scss */
  .asbman-groups-table__scroll,
.asbman-segmented-wrap,
.asbman-templates-segmented-wrap,
.report-partials-table__scroll,
.report-templates-table__scroll {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* line 150, app/assets/stylesheets/responsive.scss */
  .asbman-groups-table__scroll::-webkit-scrollbar,
.asbman-segmented-wrap::-webkit-scrollbar,
.asbman-templates-segmented-wrap::-webkit-scrollbar,
.report-partials-table__scroll::-webkit-scrollbar,
.report-templates-table__scroll::-webkit-scrollbar {
    display: none;
  }
  /* line 158, app/assets/stylesheets/responsive.scss */
  .shared-pagination__nav-wrap {
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* line 164, app/assets/stylesheets/responsive.scss */
  .shared-pagination__nav-wrap::-webkit-scrollbar {
    display: none;
  }
  /* line 168, app/assets/stylesheets/responsive.scss */
  .deposit-show-tabs {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* line 173, app/assets/stylesheets/responsive.scss */
  .deposit-show-tabs::-webkit-scrollbar {
    display: none;
  }
  /* line 177, app/assets/stylesheets/responsive.scss */
  .deposit-show-tabs button {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
  /* line 182, app/assets/stylesheets/responsive.scss */
  .asbman-settings-field-row {
    padding: 0.75rem;
    border: 1px solid #e5e7eb;
    border-radius: 0.5rem;
  }
  /* line 188, app/assets/stylesheets/responsive.scss */
  .asbman-settings-field-row__config-grid {
    width: 100%;
  }
  /* line 192, app/assets/stylesheets/responsive.scss */
  .deposit-show-details-table td {
    vertical-align: top;
  }
  /* line 196, app/assets/stylesheets/responsive.scss */
  .deposit-show-table__scroll,
.deposit-index-table__scroll,
.building-show-table__scroll,
.asbman-floors-table__scroll {
    -webkit-overflow-scrolling: touch;
  }
  /* line 203, app/assets/stylesheets/responsive.scss */
  .building-show-tabs {
    -ms-overflow-style: none;
    scrollbar-width: none;
  }
  /* line 208, app/assets/stylesheets/responsive.scss */
  .building-show-tabs::-webkit-scrollbar {
    display: none;
  }
  /* line 212, app/assets/stylesheets/responsive.scss */
  .building-show-tabs button {
    padding-left: 0.875rem;
    padding-right: 0.875rem;
  }
}

@media (min-width: 821px) and (max-width: 1024px) {
  /* line 220, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__logo {
    display: none;
  }
  /* line 225, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav .max-w-7xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  /* line 230, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__row {
    min-width: max-content;
    padding-right: 0.5rem;
  }
  /* line 235, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__desktop-links {
    gap: 0.75rem;
  }
}

@media (min-width: 768px) and (max-width: 820px) {
  /* line 243, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__desktop-links {
    display: none !important;
  }
  /* line 247, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__mobile-menu {
    display: block !important;
  }
  /* line 251, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__logo {
    display: block;
    max-width: 112px;
    height: auto;
  }
  /* line 257, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav .max-w-7xl {
    overflow-x: visible;
  }
  /* line 261, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__row {
    min-width: 0;
  }
}

@media (min-width: 768px) and (max-width: 1024px) {
  /* line 269, app/assets/stylesheets/responsive.scss */
  .analytics-store-cards__row .analytics-store-cards__item:only-child {
    width: 100%;
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
}

@media (max-width: 767px) {
  /* line 278, app/assets/stylesheets/responsive.scss */
  .breadcrumbs-nav {
    padding-left: 1rem;
    padding-right: 1rem;
  }
  /* line 283, app/assets/stylesheets/responsive.scss */
  .breadcrumbs-nav__list {
    row-gap: 0.25rem;
  }
  /* line 287, app/assets/stylesheets/responsive.scss */
  .company-primary-nav__row {
    row-gap: 0.25rem;
  }
  /* line 291, app/assets/stylesheets/responsive.scss */
  .company-primary-nav__company-name {
    max-width: 7.5rem;
  }
  /* line 295, app/assets/stylesheets/responsive.scss */
  .company-primary-nav__actions {
    gap: 0.5rem;
  }
  /* line 299, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__row {
    min-height: 2.75rem;
  }
  /* line 303, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__mobile-dropdown {
    width: calc(100vw - 2rem);
    max-width: 20rem;
  }
  /* line 308, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__logo {
    max-width: 104px;
    height: auto;
  }
  /* line 313, app/assets/stylesheets/responsive.scss */
  .analytics-store-cards__item {
    max-width: 100%;
    margin-left: 0;
    margin-right: 0;
  }
  /* line 319, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__tabs {
    padding-left: 1rem;
    padding-right: 1rem;
    gap: 0.5rem;
  }
  /* line 325, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__tab {
    flex: 1 1 0;
    text-align: center;
    margin-top: 0;
    padding-left: 0.25rem;
    padding-right: 0.25rem;
    line-height: 1.25rem;
  }
  /* line 334, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__controls {
    align-items: stretch;
  }
  /* line 338, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__controls-inner {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
  }
  /* line 346, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__filter-form {
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.75rem;
    width: 100%;
  }
  /* line 354, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__date-field {
    gap: 0.5rem;
  }
  /* line 358, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__date-field .flatpickr-date {
    min-width: 0;
    flex: 1 1 auto;
  }
  /* line 363, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__filter-form .lupin-btn,
.analytics-audit-reports__download-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 369, app/assets/stylesheets/responsive.scss */
  .analytics-audit-reports__table th,
.analytics-audit-reports__table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 375, app/assets/stylesheets/responsive.scss */
  .analytics-kml {
    padding: 1.5rem 1rem;
  }
  /* line 379, app/assets/stylesheets/responsive.scss */
  .analytics-kml__actions {
    display: flex;
    flex-direction: column;
    gap: 0.75rem;
    align-items: stretch;
  }
  /* line 386, app/assets/stylesheets/responsive.scss */
  .analytics-kml__action-btn {
    width: 100%;
    justify-content: center;
  }
  /* line 391, app/assets/stylesheets/responsive.scss */
  .sites-table__table th,
.sites-table__table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 397, app/assets/stylesheets/responsive.scss */
  .sites-search__actions .sites-search__action-btn {
    min-height: 2.75rem;
    height: 2.75rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  /* line 406, app/assets/stylesheets/responsive.scss */
  .sites-search__actions .sites-search__action-btn span {
    white-space: nowrap;
  }
  /* line 410, app/assets/stylesheets/responsive.scss */
  .sites-search__actions .sites-search__action-btn--advanced svg,
.sites-search__actions .sites-search__action-btn--reset svg {
    display: none;
  }
  /* line 415, app/assets/stylesheets/responsive.scss */
  .sites-index-controls .lupin-btn--save {
    min-height: 2.75rem;
    height: 2.75rem;
    padding-top: 0;
    padding-bottom: 0;
  }
  /* line 422, app/assets/stylesheets/responsive.scss */
  .sites-index-controls__sort {
    width: 100%;
    flex-direction: column;
    align-items: stretch;
    gap: 0.375rem;
  }
  /* line 429, app/assets/stylesheets/responsive.scss */
  .sites-index-controls__sort label {
    margin-bottom: 0;
  }
  /* line 433, app/assets/stylesheets/responsive.scss */
  .site-show-tabs button {
    font-size: 0.75rem;
  }
  /* line 437, app/assets/stylesheets/responsive.scss */
  .deposit-show-tabs button {
    font-size: 0.75rem;
  }
  /* line 441, app/assets/stylesheets/responsive.scss */
  .building-show-tabs button {
    font-size: 0.75rem;
  }
  /* line 445, app/assets/stylesheets/responsive.scss */
  .site-show-table__table th,
.site-show-table__table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 451, app/assets/stylesheets/responsive.scss */
  .deposit-show-table__table th,
.deposit-show-table__table td,
.deposit-index-table__table th,
.deposit-index-table__table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 459, app/assets/stylesheets/responsive.scss */
  .building-show-table__table th,
.building-show-table__table td,
.asbman-floors-table th,
.asbman-floors-table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 467, app/assets/stylesheets/responsive.scss */
  .asbman-groups-table th,
.asbman-groups-table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 473, app/assets/stylesheets/responsive.scss */
  .asbman-settings-page .asbman-segmented a,
.asbman-attachment-categories-page .asbman-segmented a {
    white-space: nowrap;
    font-size: 0.75rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
  /* line 481, app/assets/stylesheets/responsive.scss */
  .asbman-templates-page .asbman-segmented a {
    white-space: nowrap;
    font-size: 0.75rem;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
  /* line 488, app/assets/stylesheets/responsive.scss */
  .report-partials-table th,
.report-partials-table td,
.report-templates-table th,
.report-templates-table td {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
  /* line 496, app/assets/stylesheets/responsive.scss */
  .asbman-locations-page .tree-node > div {
    padding: 0.75rem;
  }
  /* line 500, app/assets/stylesheets/responsive.scss */
  .asbman-location-tree__name,
.asbman-location-tree__meta {
    color: #111827;
  }
}

@media (max-width: 480px) {
  /* line 507, app/assets/stylesheets/responsive.scss */
  .company-primary-nav__company-name {
    max-width: 6.5rem;
  }
  /* line 511, app/assets/stylesheets/responsive.scss */
  .company-secondary-nav__logo {
    max-width: 96px;
  }
}
