/**
 * Theme Name: Custodia 2026
 * Description: Minimalist, typography-driven reskin matching the Custodia public website (Inter body, serif page titles, gold accent on near-white).
 * Version: 1.0.0
 * Author: Custodia Team
 * Generated: 2026-04-13
 */
/* Font Bootstrap Icons */
@import url("webfonts/bootstrap-icons.css");

/* ============================================================================
   Inter (self-hosted variable font) — body typeface
   ============================================================================ */
@font-face {
  font-family: "Inter";
  font-style: normal;
  font-weight: 100 900;
  font-display: swap;
  src: url("webfonts/inter/InterVariable.woff2") format("woff2");
}
@font-face {
  font-family: "Inter";
  font-style: italic;
  font-weight: 100 900;
  font-display: swap;
  src: url("webfonts/inter/InterVariable-Italic.woff2") format("woff2");
}

/* ============================================================================
   ANIMATIONS & TRANSITIONS
   ============================================================================ */

@media not (prefers-reduced-motion: reduce) {
  @view-transition {
    navigation: auto;
  }
}

/* ============================================================================
   1. Extensive Color Swatches 
   ============================================================================ */

:root {
  --color-red-50: oklch(0.971 0.013 17.38);
  --color-red-100: oklch(0.936 0.032 17.717);
  --color-red-200: oklch(0.885 0.062 18.334);
  --color-red-300: oklch(0.808 0.114 19.571);
  --color-red-400: oklch(0.704 0.191 22.216);
  --color-red-500: oklch(0.637 0.237 25.331);
  --color-red-600: oklch(0.577 0.245 27.325);
  --color-red-700: oklch(0.505 0.213 27.518);
  --color-red-800: oklch(0.444 0.177 26.899);
  --color-red-900: oklch(0.396 0.141 25.723);
  --color-red-950: oklch(0.258 0.092 26.042);
  --color-orange-50: oklch(0.98 0.016 73.684);
  --color-orange-100: oklch(0.954 0.038 75.164);
  --color-orange-200: oklch(0.901 0.076 70.697);
  --color-orange-300: oklch(0.837 0.128 66.29);
  --color-orange-400: oklch(0.75 0.183 55.934);
  --color-orange-500: oklch(0.705 0.213 47.604);
  --color-orange-600: oklch(0.646 0.222 41.116);
  --color-orange-700: oklch(0.553 0.195 38.402);
  --color-orange-800: oklch(0.47 0.157 37.304);
  --color-orange-900: oklch(0.408 0.123 38.172);
  --color-orange-950: oklch(0.266 0.079 36.259);
  --color-amber-50: oklch(0.987 0.022 95.277);
  --color-amber-100: oklch(0.962 0.059 95.617);
  --color-amber-200: oklch(0.924 0.12 95.746);
  --color-amber-300: oklch(0.879 0.169 91.605);
  --color-amber-400: oklch(0.828 0.189 84.429);
  --color-amber-500: oklch(0.769 0.188 70.08);
  --color-amber-600: oklch(0.666 0.179 58.318);
  --color-amber-700: oklch(0.555 0.163 48.998);
  --color-amber-800: oklch(0.473 0.137 46.201);
  --color-amber-900: oklch(0.414 0.112 45.904);
  --color-amber-950: oklch(0.279 0.077 45.635);
  --color-yellow-50: oklch(0.987 0.026 102.212);
  --color-yellow-100: oklch(0.973 0.071 103.193);
  --color-yellow-200: oklch(0.945 0.129 101.54);
  --color-yellow-300: oklch(0.905 0.182 98.111);
  --color-yellow-400: oklch(0.852 0.199 91.936);
  --color-yellow-500: oklch(0.795 0.184 86.047);
  --color-yellow-600: oklch(0.681 0.162 75.834);
  --color-yellow-700: oklch(0.554 0.135 66.442);
  --color-yellow-800: oklch(0.476 0.114 61.907);
  --color-yellow-900: oklch(0.421 0.095 57.708);
  --color-yellow-950: oklch(0.286 0.066 53.813);
  --color-lime-50: oklch(0.986 0.031 120.757);
  --color-lime-100: oklch(0.967 0.067 122.328);
  --color-lime-200: oklch(0.938 0.127 124.321);
  --color-lime-300: oklch(0.897 0.196 126.665);
  --color-lime-400: oklch(0.841 0.238 128.85);
  --color-lime-500: oklch(0.768 0.233 130.85);
  --color-lime-600: oklch(0.648 0.2 131.684);
  --color-lime-700: oklch(0.532 0.157 131.589);
  --color-lime-800: oklch(0.453 0.124 130.933);
  --color-lime-900: oklch(0.405 0.101 131.063);
  --color-lime-950: oklch(0.274 0.072 132.109);
  --color-green-50: oklch(0.982 0.018 155.826);
  --color-green-100: oklch(0.962 0.044 156.743);
  --color-green-200: oklch(0.925 0.084 155.995);
  --color-green-300: oklch(0.871 0.15 154.449);
  --color-green-400: oklch(0.792 0.209 151.711);
  --color-green-500: oklch(0.723 0.219 149.579);
  --color-green-600: oklch(0.627 0.194 149.214);
  --color-green-700: oklch(0.527 0.154 150.069);
  --color-green-800: oklch(0.448 0.119 151.328);
  --color-green-900: oklch(0.393 0.095 152.535);
  --color-green-950: oklch(0.266 0.065 152.934);
  --color-emerald-50: oklch(0.979 0.021 166.113);
  --color-emerald-100: oklch(0.95 0.052 163.051);
  --color-emerald-200: oklch(0.905 0.093 164.15);
  --color-emerald-300: oklch(0.845 0.143 164.978);
  --color-emerald-400: oklch(0.765 0.177 163.223);
  --color-emerald-500: oklch(0.696 0.17 162.48);
  --color-emerald-600: oklch(0.596 0.145 163.225);
  --color-emerald-700: oklch(0.508 0.118 165.612);
  --color-emerald-800: oklch(0.432 0.095 166.913);
  --color-emerald-900: oklch(0.378 0.077 168.94);
  --color-emerald-950: oklch(0.262 0.051 172.552);
  --color-teal-50: oklch(0.984 0.014 180.72);
  --color-teal-100: oklch(0.953 0.051 180.801);
  --color-teal-200: oklch(0.91 0.096 180.426);
  --color-teal-300: oklch(0.855 0.138 181.071);
  --color-teal-400: oklch(0.777 0.152 181.912);
  --color-teal-500: oklch(0.704 0.14 182.503);
  --color-teal-600: oklch(0.6 0.118 184.704);
  --color-teal-700: oklch(0.511 0.096 186.391);
  --color-teal-800: oklch(0.437 0.078 188.216);
  --color-teal-900: oklch(0.386 0.063 188.416);
  --color-teal-950: oklch(0.277 0.046 192.524);
  --color-cyan-50: oklch(0.984 0.019 200.873);
  --color-cyan-100: oklch(0.956 0.045 203.388);
  --color-cyan-200: oklch(0.917 0.08 205.041);
  --color-cyan-300: oklch(0.865 0.127 207.078);
  --color-cyan-400: oklch(0.789 0.154 211.53);
  --color-cyan-500: oklch(0.715 0.143 215.221);
  --color-cyan-600: oklch(0.609 0.126 221.723);
  --color-cyan-700: oklch(0.52 0.105 223.128);
  --color-cyan-800: oklch(0.45 0.085 224.283);
  --color-cyan-900: oklch(0.398 0.07 227.392);
  --color-cyan-950: oklch(0.302 0.056 229.695);
  --color-sky-50: oklch(0.977 0.013 236.62);
  --color-sky-100: oklch(0.951 0.026 236.824);
  --color-sky-200: oklch(0.901 0.058 230.902);
  --color-sky-300: oklch(0.828 0.111 230.318);
  --color-sky-400: oklch(0.746 0.16 232.661);
  --color-sky-500: oklch(0.685 0.169 237.323);
  --color-sky-600: oklch(0.588 0.158 241.966);
  --color-sky-700: oklch(0.5 0.134 242.749);
  --color-sky-800: oklch(0.443 0.11 240.79);
  --color-sky-900: oklch(0.391 0.09 240.876);
  --color-sky-950: oklch(0.293 0.066 243.157);
  --color-blue-50: oklch(0.97 0.014 254.604);
  --color-blue-100: oklch(0.932 0.032 255.585);
  --color-blue-200: oklch(0.882 0.059 254.128);
  --color-blue-300: oklch(0.809 0.105 251.813);
  --color-blue-400: oklch(0.707 0.165 254.624);
  --color-blue-500: oklch(0.623 0.214 259.815);
  --color-blue-600: oklch(0.546 0.245 262.881);
  --color-blue-700: oklch(0.488 0.243 264.376);
  --color-blue-800: oklch(0.424 0.199 265.638);
  --color-blue-900: oklch(0.379 0.146 265.522);
  --color-blue-950: oklch(0.282 0.091 267.935);
  --color-indigo-50: oklch(0.962 0.018 272.314);
  --color-indigo-100: oklch(0.93 0.034 272.788);
  --color-indigo-200: oklch(0.87 0.065 274.039);
  --color-indigo-300: oklch(0.785 0.115 274.713);
  --color-indigo-400: oklch(0.673 0.182 276.935);
  --color-indigo-500: oklch(0.585 0.233 277.117);
  --color-indigo-600: oklch(0.511 0.262 276.966);
  --color-indigo-700: oklch(0.457 0.24 277.023);
  --color-indigo-800: oklch(0.398 0.195 277.366);
  --color-indigo-900: oklch(0.359 0.144 278.697);
  --color-indigo-950: oklch(0.257 0.09 281.288);
  --color-violet-50: oklch(0.969 0.016 293.756);
  --color-violet-100: oklch(0.943 0.029 294.588);
  --color-violet-200: oklch(0.894 0.057 293.283);
  --color-violet-300: oklch(0.811 0.111 293.571);
  --color-violet-400: oklch(0.702 0.183 293.541);
  --color-violet-500: oklch(0.606 0.25 292.717);
  --color-violet-600: oklch(0.541 0.281 293.009);
  --color-violet-700: oklch(0.491 0.27 292.581);
  --color-violet-800: oklch(0.432 0.232 292.759);
  --color-violet-900: oklch(0.38 0.189 293.745);
  --color-violet-950: oklch(0.283 0.141 291.089);
  --color-purple-50: oklch(0.977 0.014 308.299);
  --color-purple-100: oklch(0.946 0.033 307.174);
  --color-purple-200: oklch(0.902 0.063 306.703);
  --color-purple-300: oklch(0.827 0.119 306.383);
  --color-purple-400: oklch(0.714 0.203 305.504);
  --color-purple-500: oklch(0.627 0.265 303.9);
  --color-purple-600: oklch(0.558 0.288 302.321);
  --color-purple-700: oklch(0.496 0.265 301.924);
  --color-purple-800: oklch(0.438 0.218 303.724);
  --color-purple-900: oklch(0.381 0.176 304.987);
  --color-purple-950: oklch(0.291 0.149 302.717);
  --color-fuchsia-50: oklch(0.977 0.017 320.058);
  --color-fuchsia-100: oklch(0.952 0.037 318.852);
  --color-fuchsia-200: oklch(0.903 0.076 319.62);
  --color-fuchsia-300: oklch(0.833 0.145 321.434);
  --color-fuchsia-400: oklch(0.74 0.238 322.16);
  --color-fuchsia-500: oklch(0.667 0.295 322.15);
  --color-fuchsia-600: oklch(0.591 0.293 322.896);
  --color-fuchsia-700: oklch(0.518 0.253 323.949);
  --color-fuchsia-800: oklch(0.452 0.211 324.591);
  --color-fuchsia-900: oklch(0.401 0.17 325.612);
  --color-fuchsia-950: oklch(0.293 0.136 325.661);
  --color-pink-50: oklch(0.971 0.014 343.198);
  --color-pink-100: oklch(0.948 0.028 342.258);
  --color-pink-200: oklch(0.899 0.061 343.231);
  --color-pink-300: oklch(0.823 0.12 346.018);
  --color-pink-400: oklch(0.718 0.202 349.761);
  --color-pink-500: oklch(0.656 0.241 354.308);
  --color-pink-600: oklch(0.592 0.249 0.584);
  --color-pink-700: oklch(0.525 0.223 3.958);
  --color-pink-800: oklch(0.459 0.187 3.815);
  --color-pink-900: oklch(0.408 0.153 2.432);
  --color-pink-950: oklch(0.284 0.109 3.907);
  --color-rose-50: oklch(0.969 0.015 12.422);
  --color-rose-100: oklch(0.941 0.03 12.58);
  --color-rose-200: oklch(0.892 0.058 10.001);
  --color-rose-300: oklch(0.81 0.117 11.638);
  --color-rose-400: oklch(0.712 0.194 13.428);
  --color-rose-500: oklch(0.645 0.246 16.439);
  --color-rose-600: oklch(0.586 0.253 17.585);
  --color-rose-700: oklch(0.514 0.222 16.935);
  --color-rose-800: oklch(0.455 0.188 13.697);
  --color-rose-900: oklch(0.41 0.159 10.272);
  --color-rose-950: oklch(0.271 0.105 12.094);
  --color-slate-50: oklch(0.984 0.003 247.858);
  --color-slate-100: oklch(0.968 0.007 247.896);
  --color-slate-200: oklch(0.929 0.013 255.508);
  --color-slate-300: oklch(0.869 0.022 252.894);
  --color-slate-400: oklch(0.704 0.04 256.788);
  --color-slate-500: oklch(0.554 0.046 257.417);
  --color-slate-600: oklch(0.446 0.043 257.281);
  --color-slate-700: oklch(0.372 0.044 257.287);
  --color-slate-800: oklch(0.279 0.041 260.031);
  --color-slate-900: oklch(0.208 0.042 265.755);
  --color-slate-950: oklch(0.129 0.042 264.695);
  --color-gray-50: oklch(0.985 0.002 247.839);
  --color-gray-100: oklch(0.967 0.003 264.542);
  --color-gray-200: oklch(0.928 0.006 264.531);
  --color-gray-300: oklch(0.872 0.01 258.338);
  --color-gray-400: oklch(0.707 0.022 261.325);
  --color-gray-500: oklch(0.551 0.027 264.364);
  --color-gray-600: oklch(0.446 0.03 256.802);
  --color-gray-700: oklch(0.373 0.034 259.733);
  --color-gray-800: oklch(0.278 0.033 256.848);
  --color-gray-900: oklch(0.21 0.034 264.665);
  --color-gray-950: oklch(0.13 0.028 261.692);
  --color-zinc-50: oklch(0.985 0 0);
  --color-zinc-100: oklch(0.967 0.001 286.375);
  --color-zinc-200: oklch(0.92 0.004 286.32);
  --color-zinc-300: oklch(0.871 0.006 286.286);
  --color-zinc-400: oklch(0.705 0.015 286.067);
  --color-zinc-500: oklch(0.552 0.016 285.938);
  --color-zinc-600: oklch(0.442 0.017 285.786);
  --color-zinc-700: oklch(0.37 0.013 285.805);
  --color-zinc-800: oklch(0.274 0.006 286.033);
  --color-zinc-900: oklch(0.21 0.006 285.885);
  --color-zinc-950: oklch(0.141 0.005 285.823);
  --color-neutral-50: oklch(0.985 0 0);
  --color-neutral-100: oklch(0.97 0 0);
  --color-neutral-200: oklch(0.922 0 0);
  --color-neutral-300: oklch(0.87 0 0);
  --color-neutral-400: oklch(0.708 0 0);
  --color-neutral-500: oklch(0.556 0 0);
  --color-neutral-600: oklch(0.439 0 0);
  --color-neutral-700: oklch(0.371 0 0);
  --color-neutral-800: oklch(0.269 0 0);
  --color-neutral-900: oklch(0.205 0 0);
  --color-neutral-950: oklch(0.145 0 0);
  --color-stone-50: oklch(0.985 0.001 106.423);
  --color-stone-100: oklch(0.97 0.001 106.424);
  --color-stone-200: oklch(0.923 0.003 48.717);
  --color-stone-300: oklch(0.869 0.005 56.366);
  --color-stone-400: oklch(0.709 0.01 56.259);
  --color-stone-500: oklch(0.553 0.013 58.071);
  --color-stone-600: oklch(0.444 0.011 73.639);
  --color-stone-700: oklch(0.374 0.01 67.558);
  --color-stone-800: oklch(0.268 0.007 34.298);
  --color-stone-900: oklch(0.216 0.006 56.043);
  --color-stone-950: oklch(0.147 0.004 49.25);
  --color-white: oklch(1 0 0);
  --color-black: #000;

  --color-blue: #0d6efd;
  --color-indigo: #6610f2;
  --color-purple: #6f42c1;
  --color-pink: #d63384;
  --color-red: #dc3545;
  --color-orange: #fd7e14;
  --color-yellow: #ffc107;
  --color-green: #198754;
  --color-teal: #20c997;
  --color-cyan: #0dcaf0;

  /* --------------------------------------------------------------------------
  Brand Colors
  -------------------------------------------------------------------------- */
  --color-brand-yellow: #fbd068;
  --color-brand-yellow-rgb: 251, 208, 104;
  --custody-yellow: #fbd068;
  --custody-yellow-rgb: 251, 208, 104;

  /* --------------------------------------------------------------------------
  Status Colors
     -------------------------------------------------------------------------- */
  --color-status-issue: var(--color-red-600);
  --color-status-complete: var(--color-green-600);
  --color-status-awaiting: var(--color-amber-400);
  --color-status-check: var(--color-orange-500);
  --color-status-tbc: var(--color-blue-600);

  /* --------------------------------------------------------------------------
     Semantic Colors
     -------------------------------------------------------------------------- */
  --color-primary: var(--color-brand-yellow);
  --color-primary-rgb: var(--color-brand-yellow-rgb);
  --color-secondary: var(--color-gray-600);
  --color-success: var(--color-green-600);
  --color-danger: var(--color-red-600);
  --color-warning: var(--color-amber-400);
  --color-info: var(--color-cyan-400);
  --color-light: var(--color-gray-50);
  --color-dark: var(--color-gray-900);
  --color-form-placeholder: var(--color-zinc-400);

  /* --------------------------------------------------------------------------
      Additional Color Shades
     -------------------------------------------------------------------------- */
  --color-success-subtle-bg: var(--color-green-100);
  --color-danger-darker: var(--color-red-950);
  --color-danger-light: var(--color-red-300);
  --color-warning-text-dark: var(--color-amber-950);
  --color-warning-lighter: var(--color-yellow-200);
  --color-warning-subtle-bg: var(--color-yellow-100);
  --color-info-subtle: var(--color-cyan-100);
  --color-yellow-lighter: var(--color-yellow-50);

  --secondary-color-rgb: 33, 37, 41;
  --secondary-bg-rgb: 233, 236, 239;
  --tertiary-color: rgba(33, 37, 41, 0.5);
  --tertiary-color-rgb: 33, 37, 41;
  --tertiary-bg-rgb: 248, 249, 250;

  --form-valid-color: #198754;
  --form-invalid-color: green;

  /* --------------------------------------------------------------------------
  Spacing
  -------------------------------------------------------------------------- */
  --spacing-xxs: 0;
  --spacing-xs: 0.25rem;
  --spacing-sm: 0.5rem;
  --spacing: 1rem;
  --spacing-lg: 1.25rem;
  --spacing-xl: 1.5rem;
  --spacing-xxl: 2rem;
  --gutter-x: 1.5rem;

  --offcanvas-color: var(--color-zinc-800);
  --offcanvas-bg: var(--color-zinc-800);
  --offcanvas-width: 25%;
  --offcanvas-zindex: 1025;
  --offcanvas-transition: 0.3s;
  --offcanvas-button-color: var(--offcanvas-color);
  --offcanvas-padding-y: 10;
  --offcanvas-padding-x: 10;

  --border-radius: 0.375rem;
  --border-radius-sm: 0.25rem;
  --border-radius-lg: 0.5rem;
  --border-radius-xl: 1rem;
  --border-radius-xxl: 2rem;
  --border-radius-2xl: var(--border-radius-xxl);
  --border-radius-pill: 50rem;

  /* --------------------------------------------------------------------------
  Breakpoints
  -------------------------------------------------------------------------- */
  --breakpoint-xs: 0;
  --breakpoint-sm: 576px;
  --breakpoint-md: 768px;
  --breakpoint-lg: 992px;
  --breakpoint-xl: 1200px;
  --breakpoint-xxl: 1400px;

  /* --------------------------------------------------------------------------
  Typography
  -------------------------------------------------------------------------- */
  --font-sans-serif: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif, "Apple Color Emoji",
    "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
  --font-serif: Georgia, "Times New Roman", "Times", serif;
  --font-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono",
    "Courier New", monospace;
  /* --font-icons: "Font Awesome 7 Free"; */
  --font-icons: "bootstrap-icons";
  /* --gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.15), rgba(255, 255, 255, 0)); */
  --body-font-family: var(--font-sans-serif);
  --body-font-size: 1rem;
  --body-font-weight: 400;
  --body-line-height: 1.5;
  --body-color: var(--color-stone-800);
  --body-color-rgb: 33, 37, 41;
  --body-bg: var(--color-white);
  --body-bg-rgb: 255, 255, 255;

  --body-font-size: 1rem;
  --body-font-weight: 400;
  --body-line-height: 1.65;
  --body-color: #333333;
  --body-color-rgb: 51, 51, 51;
  --body-bg: #fafafa;
  --body-bg-rgb: 250, 250, 250;
  --emphasis-color: #1a1a1a;
  --emphasis-color-rgb: 26, 26, 26;
  --secondary-color: rgba(41, 40, 40, 0.75);
  --secondary-color-rgb: 41, 40, 40;
  --secondary-bg: #f1f1f1;
  --secondary-bg-rgb: 241, 241, 241;
  --tertiary-color: rgba(41, 40, 40, 0.55);
  --tertiary-color-rgb: 41, 40, 40;
  --tertiary-bg: #f5f5f5;
  --tertiary-bg-rgb: 245, 245, 245;
  --heading-color: #1a1a1a;
  --link-color: #292828;
  --link-color-rgb: 41, 40, 40;
  --link-decoration: none;
  --link-hover-color: #fbd068;
  --link-hover-color-rgb: 251, 208, 104;
  --code-color: #d63384;
  --highlight-bg: #fff3cd;
  --border-width: 1px;
  --border-style: solid;
  --border-color: #eeeeee;
  --border-color-translucent: rgba(26, 26, 26, 0.08);

  --border-radius: 0.375rem;
  --border-radius-sm: 0.25rem;
  --border-radius-lg: 0.5rem;
  --border-radius-xl: 1rem;
  --border-radius-xxl: 2rem;
  --border-radius-2xl: var(--border-radius-xxl);
  --border-radius-pill: 50rem;

  --box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  --box-shadow-sm: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --box-shadow-lg: 0 1rem 3rem rgba(0, 0, 0, 0.175);
  --box-shadow-inset: inset 0 1px 2px rgba(0, 0, 0, 0.075);

  --focus-ring-width: 0.25rem;
  --focus-ring-opacity: 0.25;
  --focus-ring-color: rgba(251, 208, 104, 0.25);
  --form-valid-color: #198754;
  --form-valid-border-color: #198754;
  --form-invalid-color: green;
  --form-invalid-border-color: green;

  --transition-duration: 0.3s;
  --transition-timing-function: ease;
}

:root,
[data-theme="light"] {
  color-scheme: light;
}

[data-theme="dark"] {
  color-scheme: dark;
}

html {
  box-sizing: border-box;
}
*,
*:before,
*:after {
  box-sizing: inherit;
}

body {
  margin: 0;
  font-family: var(--body-font-family);
  font-size: var(--body-font-size);
  font-weight: var(--body-font-weight);
  line-height: var(--body-line-height);
  color: var(--body-color);
  text-align: var(--body-text-align);
  background-color: var(--body-bg);
  -webkit-text-size-adjust: 100%;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

hr {
  margin: 1rem 0;
  color: inherit;
  border: 0;
  border-top: var(--border-width) solid;
  opacity: 0.25;
}

h1,
.h1 {
  font-size: clamp(1.375rem, calc(1.375rem + 1.5vw), 2.5rem);
  margin: 0 0 clamp(0.5rem, 2vw, 1.5rem);
}

h2,
.h2 {
  font-size: clamp(1.325rem, calc(1.325rem + 0.9vw), 2rem);
  margin: 0;
  /* margin: 0 0 clamp(0.5rem, 1.5vw, 1.25rem); */
}

h3,
.h3 {
  font-size: clamp(1.3rem, calc(1.3rem + 0.6vw), 1.75rem);
  margin: 0;
  /* margin:  0 0 clamp(0.5rem, 1.25vw, 1rem); */
}

h4,
.h4 {
  font-size: clamp(1.275rem, calc(1.275rem + 0.3vw), 1.5rem);
  margin: 0;
  /* margin: 0 0 clamp(0.375rem, 1vw, 0.875rem); */
}

h5,
.h5,
.customer-requirements-section-header {
  font-size: clamp(1.125rem, 1.25rem, 1.375rem);
  margin: 0;
  /* margin: 0 0 clamp(0.375rem, 0.75vw, 0.75rem); */
}

h6,
.h6 {
  font-size: clamp(0.875rem, 1rem, 1.125rem);
  margin: 0;
  /* margin: 0 0 clamp(0.25rem, 0.5vw, 0.625rem); */
}

p {
  margin-top: 0;
  margin-bottom: 1rem;
}

abbr[title] {
  text-decoration: underline dotted;
  cursor: help;
  text-decoration-skip-ink: none;
}

address {
  margin-bottom: 1rem;
  font-style: normal;
  line-height: inherit;
}

ol,
ul {
  padding-left: 2rem;
}

ol,
ul,
dl {
  margin-top: 0;
  margin-bottom: 1rem;
}

ol ol,
ul ul,
ol ul,
ul ol {
  margin-bottom: 0;
}

dt {
  font-weight: 700;
}

dd {
  margin-bottom: 0.5rem;
  margin-left: 0;
}

blockquote {
  margin: 0 0 1rem;
}

b,
strong {
  font-weight: bolder;
}

small,
.small,
.requirement-list div.dataTables_wrapper div.dataTables_info {
  font-size: 0.875em;
}

mark,
.mark {
  padding: 0.1875em;
  background-color: var(--highlight-bg);
}

sub,
sup {
  position: relative;
  font-size: 0.75em;
  line-height: 0;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

a {
  color: rgba(var(--color-link-rgb), var(--link-opacity, 1));
  text-decoration: underline;
}

a:hover {
  --link-color-rgb: var(--color-link-hover-rgb);
}

a:not([href]):not([class]),
a:not([href]):not([class]):hover {
  color: inherit;
  text-decoration: none;
}

pre,
code,
kbd,
samp {
  font-family: var(--font-monospace);
  font-size: 1em;
}

pre {
  display: block;
  margin-top: 0;
  margin-bottom: 1rem;
  overflow: auto;
  font-size: 0.875em;
}

pre code {
  font-size: inherit;
  color: inherit;
  word-break: normal;
}

code {
  font-size: 0.875em;
  color: var(--color-code);
  word-wrap: break-word;
}

a > code {
  color: inherit;
}

kbd {
  padding: 0.1875rem 0.375rem;
  font-size: 0.875em;
  color: var(--body-bg);
  background-color: var(--body-color);
  border-radius: 0.25rem;
}

kbd kbd {
  padding: 0;
  font-size: 1em;
}

figure {
  margin: 0 0 1rem;
}

img,
svg {
  vertical-align: middle;
}

table {
  caption-side: bottom;
  border-collapse: collapse;
}

caption {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--color-text-secondary);
  text-align: left;
}

th {
  text-align: inherit;
  text-align: -webkit-match-parent;
}

thead,
tbody,
tfoot,
tr,
td,
th {
  border-color: inherit;
  border-style: solid;
  border-width: 0;
}

label {
  display: inline-block;
}

button {
  border-radius: 0;
}

button:focus:not(:focus-visible) {
  outline: 0;
}

input,
button,
select,
optgroup,
textarea {
  margin: 0;
  font-family: inherit;
  font-size: inherit;
  line-height: inherit;
}

button,
select {
  text-transform: none;
}

select {
  word-wrap: normal;
}

select:disabled {
  opacity: 1;
}

button,
[type="button"],
[type="reset"],
[type="submit"] {
  -webkit-appearance: button;
}

button:not(:disabled),
[type="button"]:not(:disabled),
[type="reset"]:not(:disabled),
[type="submit"]:not(:disabled) {
  cursor: pointer;
}

textarea {
  resize: vertical;
}

fieldset {
  min-width: 0;
  padding: 0;
  margin: 0;
  border: 0;
}

legend {
  float: left;
  width: 100%;
  padding: 0;
  margin-bottom: 0.5rem;
  font-size: calc(1.275rem + 0.3vw);
  line-height: inherit;
}

legend + * {
  clear: left;
}

body {
  background-color: #f8f9fa;
}
a {
  text-decoration: none;
}

a:hover {
  text-decoration: underline;
  cursor: pointer;
}
body {
  padding: 0 !important;
}

.main-wrapper {
  container-type: inline-size;
  margin-block-end: var(--spacing);
  main {
    margin-block: var(--spacing);
    margin-inline: var(--spacing);
    max-width: 2300px;
    @container (width > 2300px) {
      margin-inline:auto;
  }
}
}

#dashboard-drag-and-drop-container {
  gap: var(--spacing-lg);
}

.layout-default,
.layout-33-66,
.layout-100 {
  .header {
    width: 100%;
    display: grid;
    grid-template-columns: 1fr minmax(min-content, 1fr);
    .header-btns section div {
      display: flex;
      flex-direction: row-reverse;
    }
  }
  .content {
    display: grid;
    grid-template-columns: minmax(350px, 1fr) auto;
    gap: var(--spacing);
    & > div:first-of-type {
      /* display:grid;
        grid-template-columns:subgrid;
        grid-column: 1;
        gap:var(--spacing); */e
      & > section {
        margin-block-end: var(--spacing);
      }
    }
    & > div:last-of-type {
      display: grid;
      grid-template-columns: subgrid;
      /* grid-column: -1; */
      gap: var(--spacing);
    }
  }
}

.ql-container {
  height: fit-content;
  margin-top: calc(-1 * var(--spacing));
}
.ql-editor {
  min-height: 200px;
  /* Editor body text 50% larger than Quill's 13px default (.ql-container),
     site-wide. em keeps headings/size-classes proportional. */
  font-size: 1.5em;
}

.container,
.container-fluid,
.container-xxl,
.container-xl,
.container-lg,
.container-md,
.container-sm {
  --gutter-x: 1.5rem;
  --gutter-y: 0;
  width: 100%;
  padding-right: calc(var(--gutter-x) * 0.5);
  padding-left: calc(var(--gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}

.login-wrapper {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 500px;
  padding: 2rem;
  background-color: var(--custody-yellow);
  h2 {
    text-align: center;
    padding-bottom: 1rem;
  }
  form {
    display: grid;
    gap: 0.5rem;
  }
  .branding {
    text-align: center;
    padding-top: 0.25rem;
    flex: 0 0 auto;
    width: 100%;
    p {
      margin-top: 1.5rem;
    }
    img {
      width: 8rem;
    }
  }
}

/* Override Bootstrap input-group flex layout so both inputs are equal width */
.login-wrapper .input-group {
  display: block;
  position: relative;
}
.login-wrapper .input-group-text {
  display: none;
}
.login-wrapper .input-group .form-control {
  width: 100%;
  padding-left: 2.75rem;
  border-radius: 0.375rem !important;
  margin-left: 0 !important;
}
.login-wrapper input:required {
  background-color: var(--color-white);
}
.login-wrapper .username::before,
.login-wrapper .password::before {
  position: absolute;
  left: 0.75rem;
  top: 50%;
  transform: translateY(-50%);
  font-family: bootstrap-icons;
  font-size: 1.1rem;
  pointer-events: none;
  z-index: 1;
}
.login-wrapper .username::before {
  content: "\f4da";
}
.login-wrapper .password::before {
  content: "\f44e";
  transform: translateY(-50%) rotate(135deg);
}

.is-login .main-wrapper > main {
  background: transparent;
  border: 0;
  box-shadow: none;
  padding: 0;
}

.table {
  --table-color-type: initial;
  --table-bg-type: initial;
  --table-color-state: initial;
  --table-bg-state: initial;
  --table-color: var(--body-color);
  --table-bg: var(--body-bg);
  --table-border-color: var(--border-color);
  --table-accent-bg: transparent;
  --table-striped-color: var(--body-color);
  --table-striped-bg: rgba(0, 0, 0, 0.05);
  --table-active-color: var(--body-color);
  --table-active-bg: rgba(0, 0, 0, 0.1);
  --table-hover-color: var(--body-color);
  --table-hover-bg: rgba(0, 0, 0, 0.075);
  width: 100%;
  margin-bottom: 1rem;
  vertical-align: top;
  border-color: var(--table-border-color);
}

.table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  color: var(--table-color-state, var(--table-color-type, var(--table-color)));
  background-color: var(--table-bg);
  border-bottom-width: var(--border-width);
  box-shadow: inset 0 0 0 9999px
    var(--table-bg-state, var(--table-bg-type, var(--table-accent-bg)));
}

.table > tbody {
  vertical-align: inherit;
}

.table > thead {
  vertical-align: bottom;
}

.table-group-divider {
  border-top: calc(var(--border-width) * 2) solid currentcolor;
}

.table-sm > :not(caption) > * > * {
  padding: 0.25rem 0.25rem;
}

.table-bordered > :not(caption) > * {
  border-width: var(--border-width) 0;
}

.table-bordered > :not(caption) > * > * {
  border-width: 0 var(--border-width);
}

.table-borderless > :not(caption) > * > * {
  border-bottom-width: 0;
}

.table-borderless > :not(:first-child) {
  border-top-width: 0;
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  --table-color-type: var(--table-striped-color);
  --table-bg-type: var(--table-striped-bg);
}

.table-striped-columns > :not(caption) > tr > :nth-child(even) {
  --table-color-type: var(--table-striped-color);
  --table-bg-type: var(--table-striped-bg);
}

.table-active {
  --table-color-state: var(--table-active-color);
  --table-bg-state: var(--table-active-bg);
}

.table-hover > tbody > tr:hover > * {
  --table-color-state: var(--table-hover-color);
  --table-bg-state: var(--table-hover-bg);
}

.table-primary {
  --table-color: #000;
  --table-bg: #fef6e1;
  --table-border-color: #e5ddcb;
  --table-striped-bg: #f1ead6;
  --table-striped-color: #000;
  --table-active-bg: #e5ddcb;
  --table-active-color: #000;
  --table-hover-bg: #ebe4d0;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-secondary {
  --table-color: #000;
  --table-bg: #e2e3e5;
  --table-border-color: #cbccce;
  --table-striped-bg: #d7d8da;
  --table-striped-color: #000;
  --table-active-bg: #cbccce;
  --table-active-color: #000;
  --table-hover-bg: #d1d2d4;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-success {
  --table-color: #000;
  --table-bg: #d1e7dd;
  --table-border-color: #bcd0c7;
  --table-striped-bg: #c7dbd2;
  --table-striped-color: #000;
  --table-active-bg: #bcd0c7;
  --table-active-color: #000;
  --table-hover-bg: #c1d6cc;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-info {
  --table-color: #000;
  --table-bg: #cff4fc;
  --table-border-color: #badce3;
  --table-striped-bg: #c5e8ef;
  --table-striped-color: #000;
  --table-active-bg: #badce3;
  --table-active-color: #000;
  --table-hover-bg: #bfe2e9;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-warning {
  --table-color: #000;
  --table-bg: #fff3cd;
  --table-border-color: #e6dbb9;
  --table-striped-bg: #f2e7c3;
  --table-striped-color: #000;
  --table-active-bg: #e6dbb9;
  --table-active-color: #000;
  --table-hover-bg: #ece1be;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-danger {
  --table-color: #000;
  --table-bg: #cce6cc;
  --table-border-color: #b8cfb8;
  --table-striped-bg: #c2dbc2;
  --table-striped-color: #000;
  --table-active-bg: #b8cfb8;
  --table-active-color: #000;
  --table-hover-bg: #bdd5bd;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-light {
  --table-color: #000;
  --table-bg: #f8f9fa;
  --table-border-color: #dfe0e1;
  --table-striped-bg: #ecedee;
  --table-striped-color: #000;
  --table-active-bg: #dfe0e1;
  --table-active-color: #000;
  --table-hover-bg: #e5e6e7;
  --table-hover-color: #000;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-dark {
  --table-color: #fff;
  --table-bg: #212529;
  --table-border-color: #373b3e;
  --table-striped-bg: #2c3034;
  --table-striped-color: #fff;
  --table-active-bg: #373b3e;
  --table-active-color: #fff;
  --table-hover-bg: #323539;
  --table-hover-color: #fff;
  color: var(--table-color);
  border-color: var(--table-border-color);
}

.table-responsive {
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.form {
  display: grid;
  gap: var(--spacing-sm);
  position: relative;
  row-gap: var(--spacing);
}

.form-label {
  margin-bottom: 0.5rem;
}

.form-control {
  display: block;
  width: 100%;
  padding-block: var(--spacing-sm);
  padding-inline: var(--spacing-xs);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--body-color);
  background-color: var(--body-bg);
  background-clip: padding-box;
  border: var(--border-width) solid var(--border-color);
  appearance: none;
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}
input[type="date"],
input[type="password"] {
  width: calc(100% - 10px);
}


.form-control[type="file"] {
  overflow: hidden;
}

.form-control[type="file"]:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control:focus {
  color: var(--body-color);
  background-color: var(--body-bg);
  border-color: #fde8b4;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(251, 208, 104, 0.25);
}

.form-control::-webkit-date-and-time-value {
  min-width: 85px;
  height: 1.5em;
  margin: 0;
}

.form-control::-webkit-datetime-edit {
  display: block;
  padding: 0;
}

.form-control::placeholder {
  color: var(--color-form-placeholder);
  opacity: 1;
}

.form-control:disabled {
  background-color: var(--color-background-secondary);
  opacity: 1;
}

.form-control::file-selector-button {
  padding: 0.375rem 0.75rem;
  margin: -0.375rem -0.75rem;
  margin-inline-end: 0.75rem;
  color: var(--body-color);
  background-color: var(--color-background-tertiary);
  pointer-events: none;
  border-color: inherit;
  border-style: solid;
  border-width: 0;
  border-inline-end-width: var(--border-width);
  border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.form-control:hover:not(:disabled):not([readonly])::file-selector-button {
  background-color: var(--color-background-secondary);
}

.form-control-plaintext {
  display: block;
  width: 100%;
  padding: 0.375rem 0;
  margin-bottom: 0;
  line-height: 1.5;
  color: var(--body-color);
  background-color: transparent;
  border: solid transparent;
  border-width: var(--border-width) 0;
}

.form-control-plaintext:focus {
  outline: 0;
}

.form-control-plaintext.form-control-sm,
.form-control-plaintext.form-control-lg {
  padding-right: 0;
  padding-left: 0;
}

.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--border-width) * 2));
  padding: 0.25rem 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--border-radius-sm);
}

.form-control-sm::file-selector-button {
  padding: 0.25rem 0.5rem;
  margin: -0.25rem -0.5rem;
  margin-inline-end: 0.5rem;
}

.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--border-width) * 2));
  padding: 0.5rem 1rem;
  font-size: 1.25rem;
  border-radius: var(--border-radius-lg);
}

.form-control-lg::file-selector-button {
  padding: 0.5rem 1rem;
  margin: -0.5rem -1rem;
  margin-inline-end: 1rem;
}

textarea.form-control {
  min-height: calc(1.5em + 0.75rem + calc(var(--border-width) * 2));
}

textarea.form-control-sm {
  min-height: calc(1.5em + 0.5rem + calc(var(--border-width) * 2));
}

textarea.form-control-lg {
  min-height: calc(1.5em + 1rem + calc(var(--border-width) * 2));
}

.form-control-color {
  width: 3rem;
  height: calc(1.5em + 0.75rem + calc(var(--border-width) * 2));
  padding: 0.375rem;
}

.form-control-color:not(:disabled):not([readonly]) {
  cursor: pointer;
}

.form-control-color::-moz-color-swatch {
  border: 0 !important;
  border-radius: var(--border-radius);
}

.form-control-color::-webkit-color-swatch {
  border: 0 !important;
  border-radius: var(--border-radius);
}

.form-control-color.form-control-sm {
  height: calc(1.5em + 0.5rem + calc(var(--border-width) * 2));
}

.form-control-color.form-control-lg {
  height: calc(1.5em + 1rem + calc(var(--border-width) * 2));
}

.form-select {
  --form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
  display: block;
  width: 100%;
  padding: 0.375rem 2.25rem 0.375rem 0.75rem;
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  color: var(--body-color);
  background-color: var(--body-bg);
  background-image: var(--form-select-bg-img), var(--form-select-bg-icon, none);
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  background-size: 16px 12px;
  border: var(--border-width) solid var(--border-color);
  border-radius: var(--border-radius);
  transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
  appearance: none;
}

.form-select:focus {
  border-color: #fde8b4;
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(251, 208, 104, 0.25);
}

.form-select[multiple],
.form-select[size]:not([size="1"]) {
  padding-right: 0.75rem;
  background-image: none;
}

.form-select:disabled {
  background-color: var(--color-background-secondary);
}

.form-select:-moz-focusring {
  color: transparent;
  text-shadow: 0 0 0 var(--body-color);
}

.form-select-sm {
  padding-top: 0.25rem;
  padding-bottom: 0.25rem;
  padding-left: 0.5rem;
  font-size: 0.875rem;
  border-radius: var(--border-radius-sm);
}

.form-select-lg {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  padding-left: 1rem;
  font-size: 1.25rem;
  border-radius: var(--border-radius-lg);
}

.btn-check {
  position: absolute;
  clip: rect(0, 0, 0, 0);
  pointer-events: none;
}

.btn-check[disabled] + .btn,
.btn-check:disabled + .btn {
  pointer-events: none;
  filter: none;
  opacity: 0.65;
}

.requirements.section {
  display: grid;
  grid-template-columns: auto auto 3fr auto;
  .header {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: span 4;
    column-gap: var(--spacing-sm);
    row-gap: var(--spacing);
    border-top: var(--border-width) var(--border-style) var(--border-color);

    > div {
      padding: var(--spacing-sm) var(--spacing);
    }
  }

  .input-groups {
    display: grid;
    grid-template-columns: subgrid;
    grid-column: 1 / -1;
    column-gap: var(--spacing-sm);
    row-gap: var(--spacing);
    .input-group {
      display: grid;
      grid-template-columns: subgrid;
      grid-column: 1 / -1;
      column-gap: var(--spacing);
      div:last-of-type {
        text-align: center;
      }
    }
  }

  
  .required-btns {
    display: grid;
    grid-template-columns: repeat(3, auto);
    grid-column: span 1 / -1;
    margin-block: var(--spacing);
    button {
      width: 40px;
    }
  }
}

.input-group{
  display: grid;
    gap: var(--spacing);
}
.input-group:not(:has(textarea))
{
    grid-template-columns: auto 1fr;
    label{
      min-width: 16rem;
    }
}

/* Intrinsic-width input tracks per data type.
   Three-track grid: label (auto, min-width 16rem) | input (fixed) | 1fr slack.
   The trailing 1fr track is empty and exists only to absorb leftover space
   so label+input pack tightly on the left. Uses :has() — modern evergreen
   browsers only (Chrome 105+, Safari 15.4+, Firefox 121+). Text/email/url/
   file stay 1fr by default because content length is genuinely variable. */
.input-group:has(> input[type='date'])           { grid-template-columns: auto 17ch 1fr; }
.input-group:has(> input[type='datetime-local']) { grid-template-columns: auto 26ch 1fr; }
.input-group:has(> input[type='number'])         { grid-template-columns: auto 10ch 1fr; }
.input-group:has(> input[type='password'])       { grid-template-columns: auto 25ch 1fr; }
.input-group:has(> select)                       { grid-template-columns: auto 25ch 1fr; }



.input-group-text {
  display: flex;
  align-items: center;
  padding: var(--spacing-sm) var(--spacing);
  font-size: 1rem;
  font-weight: 400;
  line-height: 1.5;
  text-align: center;
  white-space: nowrap;
  background-color: var(--color-gray-200);
  border: var(--border-width) solid var(--color-gray-400);
  border-radius: var(--border-radius);
}

.was-validated .form-control:valid,
.form-control.is-valid {
  border-color: var(--color-status-complete);
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:valid:focus,
.form-control.is-valid:focus {
  border-color: var(--color-status-complete);
  box-shadow: 0 0 0 0.25rem rgba(var(--color-success-rgb), 0.25);
}

.was-validated textarea.form-control:valid,
textarea.form-control.is-valid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right
    calc(0.375em + 0.1875rem);
}

.was-validated .form-select:valid,
.form-select.is-valid {
  border-color: var(--color-status-complete);
}

.was-validated .form-select:valid:not([multiple]):not([size]),
.was-validated .form-select:valid:not([multiple])[size="1"],
.form-select.is-valid:not([multiple]):not([size]),
.form-select.is-valid:not([multiple])[size="1"] {
  --form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%23198754' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-select:valid:focus,
.form-select.is-valid:focus {
  border-color: var(--color-status-complete);
  box-shadow: 0 0 0 0.25rem rgba(var(--color-success-rgb), 0.25);
}

.was-validated .form-control-color:valid,
.form-control-color.is-valid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .input-group > .form-control:not(:focus):valid,
.input-group > .form-control:not(:focus).is-valid,
.was-validated .input-group > .form-select:not(:focus):valid,
.input-group > .form-select:not(:focus).is-valid,
.was-validated .input-group > .form-floating:not(:focus-within):valid,
.input-group > .form-floating:not(:focus-within).is-valid {
  z-index: 3;
}

.was-validated .form-control:invalid,
.form-control.is-invalid {
  border-color: green;
  padding-right: calc(1.5em + 0.75rem);
  background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='green'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='green' stroke='none'/%3e%3c/svg%3e");
  background-repeat: no-repeat;
  background-position: right calc(0.375em + 0.1875rem) center;
  background-size: calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-control:invalid:focus,
.form-control.is-invalid:focus {
  border-color: green;
  box-shadow: 0 0 0 0.25rem rgba(var(--color-danger-rgb), 0.25);
}

.was-validated textarea.form-control:invalid,
textarea.form-control.is-invalid {
  padding-right: calc(1.5em + 0.75rem);
  background-position: top calc(0.375em + 0.1875rem) right
    calc(0.375em + 0.1875rem);
}

.was-validated .form-select:invalid,
.form-select.is-invalid {
  border-color: green;
}

.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"],
.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"] {
  --form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='green'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='green' stroke='none'/%3e%3c/svg%3e");
  padding-right: 4.125rem;
  background-position: right 0.75rem center, center right 2.25rem;
  background-size: 16px 12px, calc(0.75em + 0.375rem) calc(0.75em + 0.375rem);
}

.was-validated .form-select:invalid:focus,
.form-select.is-invalid:focus {
  border-color: green;
  box-shadow: 0 0 0 0.25rem rgba(var(--color-danger-rgb), 0.25);
}

.was-validated .form-control-color:invalid,
.form-control-color.is-invalid {
  width: calc(3rem + calc(1.5em + 0.75rem));
}

.was-validated .input-group > .form-control:not(:focus):invalid,
.input-group > .form-control:not(:focus).is-invalid,
.was-validated .input-group > .form-select:not(:focus):invalid,
.input-group > .form-select:not(:focus).is-invalid,
.was-validated .input-group > .form-floating:not(:focus-within):invalid,
.input-group > .form-floating:not(:focus-within).is-invalid {
  z-index: 4;
}

.btn {
  --btn-padding-x: 0.75rem;
  --btn-padding-y: 0.375rem;
  --btn-font-family: ;
  --btn-font-size: 1rem;
  --btn-font-weight: 400;
  --btn-line-height: 1.5;
  --btn-color: var(--color-white);
  --btn-bg: var(--color-green-700);
  --btn-hover-color: var(--color-white);
  --btn-hover-bg: var(--color-green-800);
  --btn-border-width: 0;
  --btn-border-color: transparent;
  --btn-border-radius: var(--border-radius);
  --btn-hover-border-color: transparent;
  --btn-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.15),
    0 1px 1px rgba(0, 0, 0, 0.075);
  --btn-disabled-opacity: 0.65;
  --btn-focus-box-shadow: 0 0 0 0.25rem rgba(var(--btn-focus-shadow-rgb), 0.5);
  display: inline-block;
  padding: var(--btn-padding-y) var(--btn-padding-x);
  font-family: var(--btn-font-family);
  font-size: var(--btn-font-size);
  font-weight: var(--btn-font-weight);
  line-height: var(--btn-line-height);
  color: var(--btn-color);
  text-align: center;
  text-decoration: none;
  vertical-align: middle;
  cursor: pointer;
  user-select: none;
  border: var(--btn-border-width) solid var(--btn-border-color);
  border-radius: var(--btn-border-radius);
  background-color: var(--btn-bg);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.btn:hover {
  color: var(--btn-hover-color);
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-border-color);
}

.btn-check + .btn:hover {
  color: var(--btn-color);
  background-color: var(--btn-bg);
  border-color: var(--btn-border-color);
}

.btn:focus-visible {
  color: var(--btn-hover-color);
  background-color: var(--btn-hover-bg);
  border-color: var(--btn-hover-border-color);
  outline: 0;
  box-shadow: var(--btn-focus-box-shadow);
}

.btn-check:focus-visible + .btn {
  border-color: var(--btn-hover-border-color);
  outline: 0;
  box-shadow: var(--btn-focus-box-shadow);
}

.btn-check:checked + .btn,
:not(.btn-check) + .btn:active,
.btn:first-child:active,
.btn.active,
.btn.show {
  color: var(--btn-active-color);
  background-color: var(--btn-active-bg);
  border-color: var(--btn-active-border-color);
}

.btn-check:checked + .btn:focus-visible,
:not(.btn-check) + .btn:active:focus-visible,
.btn:first-child:active:focus-visible,
.btn.active:focus-visible,
.btn.show:focus-visible {
  box-shadow: var(--btn-focus-box-shadow);
}

.btn:disabled,
.btn.disabled,
fieldset:disabled .btn {
  color: var(--btn-disabled-color);
  pointer-events: none;
  background-color: var(--btn-disabled-bg);
  border-color: var(--btn-disabled-border-color);
  opacity: var(--btn-disabled-opacity);
}

.btn-primary,
.btn-edit {
  --btn-color: #000;
  --btn-bg: var(--custody-yellow);
  --btn-border-color: var(--custody-yellow);
  --btn-hover-color: #000;
  --btn-hover-bg: #fcd77f;
  --btn-hover-border-color: #fbd577;
  --btn-focus-shadow-rgb: 213, 177, 88;
  --btn-active-color: #000;
  --btn-active-bg: #fcd986;
  --btn-active-border-color: #fbd577;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: #000;
  --btn-disabled-bg: var(--custody-yellow);
  --btn-disabled-border-color: var(--custody-yellow);
}

.btn-danger,
.btn-delete,
.btn-archive {
  --btn-color: #fff;
  --btn-bg: green;
  --btn-border-color: green;
  --btn-hover-color: #fff;
  --btn-hover-bg: #006d00;
  --btn-hover-border-color: #006600;
  --btn-focus-shadow-rgb: 38, 147, 38;
  --btn-active-color: #fff;
  --btn-active-bg: #006600;
  --btn-active-border-color: #006000;
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: #fff;
  --btn-disabled-bg: green;
  --btn-disabled-border-color: green;
}

.btn-link:focus-visible {
  color: var(--btn-color);
}

.btn-link:hover {
  color: var(--btn-hover-color);
}

.btn-lg,
.btn-group-lg > .btn {
  --btn-padding-y: 0.5rem;
  --btn-padding-x: 1rem;
  --btn-font-size: 1.25rem;
  --btn-border-radius: var(--border-radius-lg);
}

.btn-sm,
.btn-group-sm > .btn {
  --btn-padding-y: 0.25rem;
  --btn-padding-x: 0.5rem;
  --btn-font-size: 0.875rem;
  --btn-border-radius: var(--border-radius-sm);
}

.btn-logout {
  --btn-bg: var(--color-primary);
  --btn-color: var(--color-black);
  &:hover {
    background-color: var(--color-yellow-5 00);
    color: var(--color-white);
  }
}

.nav-link {
  display: block;
  font-size: var(--nav-link-font-size);
  font-weight: var(--nav-link-font-weight);
  color: var(--nav-link-color);
  text-decoration: none;
  background: none;
  border: 0;
  --btn-border-radius: 0;
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out;
  --btn-hover-color: unset;
  --btn-hover-bg: unset;
}

.nav-link:hover,
.nav-link:focus {
  color: var(--nav-link-hover-color);
}

.nav-link:focus-visible {
  outline: 0;
  box-shadow: 0 0 0 0.25rem rgba(251, 208, 104, 0.25);
}

.nav-link.disabled {
  color: var(--nav-link-disabled-color);
  pointer-events: none;
  cursor: default;
}

.nav-tabs .nav-link {
  margin-bottom: calc(-1 * var(--nav-tabs-border-width));
  border: var(--nav-tabs-border-width) solid transparent;
  border-top-left-radius: var(--nav-tabs-border-radius);
  border-top-right-radius: var(--nav-tabs-border-radius);
}

.nav-tabs .nav-link:hover,
.nav-tabs .nav-link:focus {
  isolation: isolate;
  border-color: var(--nav-tabs-link-hover-border-color);
}

.nav-tabs .nav-link.disabled,
.nav-tabs .nav-link:disabled {
  color: var(--nav-link-disabled-color);
  background-color: transparent;
  border-color: transparent;
}

.nav-tabs .nav-link.active,
.nav-tabs .nav-item.show .nav-link {
  color: var(--nav-tabs-link-active-color);
  background-color: var(--nav-tabs-link-active-bg);
  border-color: var(--nav-tabs-link-active-border-color);
}

.nav-pills .nav-link {
  border-radius: var(--nav-pills-border-radius);
}

.nav-pills .nav-link:disabled {
  color: var(--nav-link-disabled-color);
  background-color: transparent;
  border-color: transparent;
}

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  color: var(--nav-pills-link-active-color);
  background-color: var(--nav-pills-link-active-bg);
}

.nav-underline .nav-link {
  padding-right: 0;
  padding-left: 0;
  border-bottom: var(--nav-underline-border-width) solid transparent;
}

.nav-underline .nav-link:hover,
.nav-underline .nav-link:focus {
  border-bottom-color: currentcolor;
}

.nav-underline .nav-link.active,
.nav-underline .show > .nav-link {
  font-weight: 700;
  color: var(--nav-underline-link-active-color);
  border-bottom-color: currentcolor;
}

.tab-content > .active {
  display: block;
}

.navbar {
  --navbar-color: rgba(var(--emphasis-color-rgb), 0.65);
  --navbar-hover-color: rgba(var(--emphasis-color-rgb), 0.8);
  --navbar-disabled-color: rgba(var(--emphasis-color-rgb), 0.3);
  --navbar-active-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-padding-y: 0.3125rem;
  --navbar-brand-margin-end: 1rem;
  --navbar-brand-font-size: 1.25rem;
  --navbar-brand-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-brand-hover-color: rgba(var(--emphasis-color-rgb), 1);
  --navbar-nav-link-padding-x: 0.5rem;
  --navbar-toggler-padding-y: 0.25rem;
  --navbar-toggler-padding-x: 0.75rem;
  --navbar-toggler-font-size: 1.25rem;
  --navbar-toggler-icon-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%2833, 37, 41, 0.75%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e");
  --navbar-toggler-border-color: rgba(var(--emphasis-color-rgb), 0.15);
  --navbar-toggler-border-radius: var(--border-radius);
  --navbar-toggler-focus-width: 0.25rem;
  --navbar-toggler-transition: box-shadow 0.15s ease-in-out;

  container-name: navbar;
  container-type: inline-size;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  padding: var(--spacing) var(--spacing);
  margin-inline: auto;
  position: sticky;
  top: 0;
  z-index: 1020;
  background: var(--color-primary);

  @media (min-width: 768px) {
    flex-wrap: nowrap;
    justify-content: flex-start;
    padding-top: var(--spacing-xl);
    padding-bottom: 1var (--spacing-xl);
  }
}

.search-form {
  display: none;

  .form-control {
    margin-inline-end: var(--spacing-sm);
  }

  button {
    --btn-color: var(--color-white);
    --btn-bg: var(--color-dark);
    --btn-border-color: var(--color-dark);
    --btn-hover-color: var(--color-white);
    --btn-hover-bg: var(--color-gray-700);
    --btn-hover-border-color: var(--color-gray-800);
    --btn-focus-shadow-rgb: 66, 70, 73;
    --btn-active-color: var(--color-white);
    --btn-active-bg: var(--color-gray-600);
    --btn-active-border-color: var(--color-gray-800);
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: var(--color-white);
    --btn-disabled-bg: var(--color-dark);
    --btn-disabled-border-color: var(--color-dark);
  }
}

#navbarToggler {
  &.collapse:has(.show) {
    flex-basis: 100%;
    flex-grow: 1;
  }
}

.sidebar-end-toggle-btn {
  --btn-color: var(--color-black);
  --btn-bg: var(--custody-yellow);
  --btn-border-color: var(--custody-yellow);
  --btn-hover-color: var(--color-black);
  --btn-hover-bg: var(--color-amber-200);
  --btn-hover-border-color: var(--color-amber-300);
  --btn-focus-shadow-rgb: var(--color-amber-300);
  --btn-active-color: var(--color-black);
  --btn-active-bg: var(--color-amber-200);
  --btn-active-border-color: var(--color-amber-300);
  --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
  --btn-disabled-color: var(--color-black);
  --btn-disabled-bg: var(--custody-yellow);
  --btn-disabled-border-color: var(--custody-yellow);
  margin-left: var(--spacing);
  display: none;
}

@container navbar (min-width: 768px) {
  .search-form {
    display: flex;
  }

  #navbarToggler {
    display: flex;
    flex-basis: auto;
  }

  .sidebar-end-toggle-btn {
    display: flex;
  }

  .navbar-toggler {
    display: none;
  }

  #navbarToggler .navbar-nav {
    flex-direction: row;
  }
  .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-nav .nav-link {
    margin-right: var(--spacing-sm);
    margin-left: var(--spacing-sm);

    --btn-border-radius: 0;
  }
  .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  /* .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  } */
  .offcanvas .offcanvas-header {
    display: none;
  }
  .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.offcanvas {
  position: fixed;
  bottom: 0;
  z-index: var(--offcanvas-zindex);
  display: flex;
  flex-direction: column;
  max-width: 100%;
  color: var(--offcanvas-color);
  visibility: hidden;
  background-color: var(--offcanvas-bg);
  background-clip: padding-box;
  outline: 0;
  transition: var(--offcanvas-transition);
}

/* .navbar > .container,
.navbar > .container-fluid,
.navbar > .container-sm,
.navbar > .container-md,
.navbar > .container-lg,
.navbar > .container-xl,
.navbar > .container-xxl {
  display: flex;
  flex-wrap: inherit;
  align-items: center;
  justify-content: space-between;
} */
.navbar-brand {
  padding-top: var(--navbar-brand-padding-y);
  padding-bottom: var(--navbar-brand-padding-y);
  margin-right: var(--navbar-brand-margin-end);
  font-size: var(--navbar-brand-font-size);
  color: var(--navbar-brand-color);
  text-decoration: none;
  white-space: nowrap;
}
.navbar-brand:hover,
.navbar-brand:focus {
  color: var(--navbar-brand-hover-color);
}

.navbar-nav {
  --nav-link-padding-x: 0;
  --nav-link-padding-y: 0.5rem;
  --nav-link-font-weight: ;
  --nav-link-color: var(--navbar-color);
  --nav-link-hover-color: var(--navbar-hover-color);
  --nav-link-disabled-color: var(--navbar-disabled-color);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}
.navbar-nav .nav-link.active,
.navbar-nav .nav-link.show {
  color: var(--navbar-active-color);
}
.navbar-nav .dropdown-menu {
  position: static;
}

.navbar-text {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: var(--navbar-color);
}
.navbar-text a,
.navbar-text a:hover,
.navbar-text a:focus {
  color: var(--navbar-active-color);
}

.navbar-collapse {
  flex-basis: 100%;
  flex-grow: 1;
  align-items: center;
}

.navbar-toggler {
  padding: var(--navbar-toggler-padding-y) var(--navbar-toggler-padding-x);
  font-size: var(--navbar-toggler-font-size);
  line-height: 1;
  color: var(--navbar-color);
  background-color: transparent;
  border: var(--border-width) solid var(--navbar-toggler-border-color);
  border-radius: var(--navbar-toggler-border-radius);
  transition: var(--navbar-toggler-transition);
}

.navbar-toggler:hover {
  text-decoration: none;
}
.navbar-toggler:focus {
  text-decoration: none;
  outline: 0;
  box-shadow: 0 0 0 var(--navbar-toggler-focus-width);
}

.navbar-toggler-icon {
  display: inline-block;
  width: 1.5em;
  height: 1.5em;
  vertical-align: middle;
  background-image: var(--navbar-toggler-icon-bg);
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100%;
}

.navbar-nav-scroll {
  max-height: var(--scroll-height, 75vh);
  overflow-y: auto;
}

@media (min-width: 576px) {
  .navbar-expand-sm {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-sm .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-sm .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-sm .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-sm .navbar-nav-scroll {
    overflow: visible;
  }
  /* .navbar-expand-sm .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  } */
  .navbar-expand-sm .navbar-toggler {
    display: none;
  }
  .navbar-expand-sm .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-sm .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
@media (min-width: 768px) {
  /* .navbar-expand-md {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-md .navbar-nav {
    flex-direction: row;
  } */
  .navbar-expand-md .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-md .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-md .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-md .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }

  .navbar-expand-md .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-md .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
}
.navbar-expand {
  flex-wrap: nowrap;
  justify-content: flex-start;
}
.navbar-expand .navbar-nav {
  flex-direction: row;
}
.navbar-expand .navbar-nav .dropdown-menu {
  position: absolute;
}
.navbar-expand .navbar-nav .nav-link {
  padding-right: var(--navbar-nav-link-padding-x);
  padding-left: var(--navbar-nav-link-padding-x);
}
.navbar-expand .navbar-nav-scroll {
  overflow: visible;
}
.navbar-expand .navbar-collapse {
  display: flex !important;
  flex-basis: auto;
}
.navbar-expand .navbar-toggler {
  display: none;
}

.panel {
  flex: auto;
  position: relative;
  display: flex;
  flex-direction: column;
  min-width: 0;
  color: var(--body-color);
  word-wrap: break-word;
  background-color: var(--body-bg);
  background-clip: border-box;
  border: var(--border-width) solid var(--border-color);
  border-top: 2px solid var(--color-primary);
  border-radius: unset;
  padding: var(--spacing-sm);
}

.card > .list-group,
.customer-details > .list-group,
.details-card > .list-group,
.panel > .list-group {
  border-top: inherit;
  border-bottom: inherit;
}

.card > .list-group:first-child,
.customer-details > .list-group:first-child,
.details-card > .list-group:first-child,
.panel > .list-group:first-child {
  border-top-width: 0;
  border-top-left-radius: var(--card-inner-border-radius);
  border-top-right-radius: var(--card-inner-border-radius);
}

.card > .list-group:last-child,
.customer-details > .list-group:last-child,
.details-card > .list-group:last-child,
.panel > .list-group:last-child {
  border-bottom-width: 0;
  border-bottom-right-radius: var(--card-inner-border-radius);
  border-bottom-left-radius: var(--card-inner-border-radius);
}

.card > .card-header + .list-group,
.customer-details > .card-header + .list-group,
.details-card > .card-header + .list-group,
.panel > .card-header + .list-group,
.card > .list-group + .card-footer,
.customer-details > .list-group + .card-footer,
.details-card > .list-group + .card-footer,
.panel > .list-group + .card-footer {
  border-top: 0;
}

.card-header-tabs .nav-link.active {
  background-color: var(--card-bg);
  border-bottom-color: var(--card-bg);
}

.accordion-button:not(.collapsed) {
  color: var(--accordion-active-color);
  background-color: var(--accordion-active-bg);
  box-shadow: inset 0 calc(-1 * var(--accordion-border-width)) 0
    var(--accordion-border-color);
}

.accordion-button:not(.collapsed)::after {
  background-image: var(--accordion-btn-active-icon);
  transform: var(--accordion-btn-icon-transform);
}

.accordion-item:last-of-type .accordion-button.collapsed {
  border-bottom-right-radius: var(--accordion-inner-border-radius);
  border-bottom-left-radius: var(--accordion-inner-border-radius);
}

.accordion-flush .accordion-item .accordion-button,
.accordion-flush .accordion-item .accordion-button.collapsed {
  border-radius: 0;
}

.breadcrumb-item.active {
  color: var(--breadcrumb-item-active-color);
}

.customer-logo {
  display: flex;
  justify-content: center;
}
.customer-logo img {
  max-width: 150px;
  max-height: 150px;
  border-radius: var(--bs-border-radius-sm);
}

.pagination {
  --pagination-padding-x: 0.75rem;
  --pagination-padding-y: 0.375rem;
  --pagination-font-size: 1rem;
  --pagination-color: var(--color-link);
  --pagination-bg: var(--body-bg);
  --pagination-border-width: var(--border-width);
  --pagination-border-color: var(--border-color);
  --pagination-border-radius: var(--border-radius);
  --pagination-hover-color: var(--color-link-hover);
  --pagination-hover-bg: var(--color-background-tertiary);
  --pagination-hover-border-color: var(--border-color);
  --pagination-focus-color: var(--color-link-hover);
  --pagination-focus-bg: var(--color-background-secondary);
  --pagination-focus-box-shadow: 0 0 0 0.25rem rgba(251, 208, 104, 0.25);
  --pagination-active-color: #fff;
  --pagination-active-bg: var(--custody-yellow);
  --pagination-active-border-color: var(--custody-yellow);
  --pagination-disabled-color: var(--color-text-secondary);
  --pagination-disabled-bg: var(--color-background-secondary);
  --pagination-disabled-border-color: var(--border-color);
  display: flex;
  padding-left: 0;
  list-style: none;
}

.page-link {
  position: relative;
  display: block;
  padding: var(--pagination-padding-y) var(--pagination-padding-x);
  font-size: var(--pagination-font-size);
  color: var(--pagination-color);
  text-decoration: none;
  background-color: var(--pagination-bg);
  border: var(--pagination-border-width) solid var(--pagination-border-color);
  transition: color 0.15s ease-in-out, background-color 0.15s ease-in-out,
    border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
}

.page-link:hover {
  z-index: 2;
  color: var(--pagination-hover-color);
  background-color: var(--pagination-hover-bg);
  border-color: var(--pagination-hover-border-color);
}

.page-link:focus {
  z-index: 3;
  color: var(--pagination-focus-color);
  background-color: var(--pagination-focus-bg);
  outline: 0;
  box-shadow: var(--pagination-focus-box-shadow);
}

.page-link.active,
.active > .page-link {
  z-index: 3;
  color: var(--pagination-active-color);
  background-color: var(--pagination-active-bg);
  border-color: var(--pagination-active-border-color);
}

.page-link.disabled,
.disabled > .page-link {
  color: var(--pagination-disabled-color);
  pointer-events: none;
  background-color: var(--pagination-disabled-bg);
  border-color: var(--pagination-disabled-border-color);
}

.page-item:not(:first-child) .page-link {
  margin-left: calc(var(--border-width) * -1);
}

.page-item:first-child .page-link {
  border-top-left-radius: var(--pagination-border-radius);
  border-bottom-left-radius: var(--pagination-border-radius);
}

.page-item:last-child .page-link {
  border-top-right-radius: var(--pagination-border-radius);
  border-bottom-right-radius: var(--pagination-border-radius);
}

.pagination-lg {
  --pagination-padding-x: 1.5rem;
  --pagination-padding-y: 0.75rem;
  --pagination-font-size: 1.25rem;
  --pagination-border-radius: var(--border-radius-lg);
}

.pagination-sm {
  --pagination-padding-x: 0.5rem;
  --pagination-padding-y: 0.25rem;
  --pagination-font-size: 0.875rem;
  --pagination-border-radius: var(--border-radius-sm);
}

.btn .badge {
  position: relative;
  top: -1px;
}

.alert-dismissible .btn-close {
  position: absolute;
  top: 0;
  right: 0;
  z-index: 2;
  padding: 1.25rem 1rem;
}

.list-group {
  --list-group-color: var(--body-color);
  --list-group-bg: var(--body-bg);
  --list-group-border-color: var(--border-color);
  --list-group-border-width: var(--border-width);
  --list-group-border-radius: var(--border-radius);
  --list-group-item-padding-x: 1rem;
  --list-group-item-padding-y: 0.5rem;
  --list-group-action-color: var(--color-text-secondary);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--color-background-tertiary);
  --list-group-action-active-color: var(--body-color);
  --list-group-action-active-bg: var(--color-background-secondary);
  --list-group-disabled-color: var(--color-text-secondary);
  --list-group-disabled-bg: var(--body-bg);
  --list-group-active-color: #fff;
  --list-group-active-bg: var(--custody-yellow);
  --list-group-active-border-color: var(--custody-yellow);
  display: flex;
  flex-direction: column;
  padding-left: 0;
  margin-bottom: 0;
  border-radius: var(--list-group-border-radius);
}

.list-group-numbered {
  list-style-type: none;
  counter-reset: section;
}

.list-group-numbered > .list-group-item::before {
  content: counters(section, ".") ". ";
  counter-increment: section;
}

.list-group-item-action {
  width: 100%;
  color: var(--list-group-action-color);
  text-align: inherit;
}

.list-group-item-action:hover,
.list-group-item-action:focus {
  z-index: 1;
  color: var(--list-group-action-hover-color);
  text-decoration: none;
  background-color: var(--list-group-action-hover-bg);
}

.list-group-item-action:active {
  color: var(--list-group-action-active-color);
  background-color: var(--list-group-action-active-bg);
}

.list-group-item {
  position: relative;
  display: block;
  padding: var(--list-group-item-padding-y) var(--list-group-item-padding-x);
  color: var(--list-group-color);
  text-decoration: none;
  background-color: var(--list-group-bg);
  border: var(--list-group-border-width) solid var(--list-group-border-color);
}

.list-group-item:last-child {
  border-bottom-right-radius: inherit;
  border-bottom-left-radius: inherit;
}

.list-group-item.disabled,
.list-group-item:disabled {
  color: var(--list-group-disabled-color);
  pointer-events: none;
  background-color: var(--list-group-disabled-bg);
}

.list-group-item.active {
  z-index: 2;
  color: var(--list-group-active-color);
  background-color: var(--list-group-active-bg);
  border-color: var(--list-group-active-border-color);
}

.btn-close {
  --btn-close-color: #000;
  --btn-close-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='%23000'%3e%3cpath d='M.293.293a1 1 0 0 1 1.414 0L8 6.586 14.293.293a1 1 0 1 1 1.414 1.414L9.414 8l6.293 6.293a1 1 0 0 1-1.414 1.414L8 9.414l-6.293 6.293a1 1 0 0 1-1.414-1.414L6.586 8 .293 1.707a1 1 0 0 1 0-1.414z'/%3e%3c/svg%3e");
  --btn-close-opacity: 0.5;
  --btn-close-hover-opacity: 0.75;
  --btn-close-focus-shadow: 0 0 0 0.25rem rgba(251, 208, 104, 0.25);
  --btn-close-focus-opacity: 1;
  --btn-close-disabled-opacity: 0.25;
  --btn-close-white-filter: invert(1) grayscale(100%) brightness(200%);
  box-sizing: content-box;
  width: 1em;
  height: 1em;
  padding: 0.25em 0.25em;
  color: var(--btn-close-color);
  background: transparent var(--btn-close-bg) center/1em auto no-repeat;
  border: 0;
  border-radius: 0.375rem;
  /* opacity: var(--btn-close-opacity); */
  transition: all var(--transition-duration) var(--transition-timing-function);
}

.btn-close:hover {
  color: var(--btn-close-color);
  text-decoration: none;
  opacity: var(--btn-close-hover-opacity);
}

.btn-close:focus {
  outline: 0;
  box-shadow: var(--btn-close-focus-shadow);
  opacity: var(--btn-close-focus-opacity);
}

.btn-close:disabled,
.btn-close.disabled {
  pointer-events: none;
  user-select: none;
  opacity: var(--btn-close-disabled-opacity);
}

.offcanvas {
  .btn-close {
    color: var(--color-white);
    &:before {
      font-family: var(--font-icons);
      font-weight: 900;
      content: "\F659";
    }
    &:hover {
      color: var(--color-neutral-400);
    }
  }
}

.toast-header .btn-close {
  margin-right: calc(-0.5 * var(--toast-padding-x));
  margin-left: var(--toast-padding-x);
}

.dynamic-dialog {
  width: 80vw;
  height: 80vh;
}

.modal {
  --modal-zindex: 1055;
  --modal-width: 500px;
  --modal-padding: 1rem;
  --modal-margin: 0.5rem;
  --modal-color: ;
  --modal-bg: var(--body-bg);
  --modal-border-color: var(--border-color-translucent);
  --modal-border-width: var(--border-width);
  --modal-border-radius: var(--border-radius-lg);
  --modal-box-shadow: 0 0.125rem 0.25rem rgba(0, 0, 0, 0.075);
  --modal-inner-border-radius: calc(
    var(--border-radius-lg) - (var(--border-width))
  );
  --modal-header-padding-x: 1rem;
  --modal-header-padding-y: 1rem;
  --modal-header-padding: 1rem 1rem;
  --modal-header-border-color: var(--border-color);
  --modal-header-border-width: var(--border-width);
  --modal-title-line-height: 1.5;
  --modal-footer-gap: 0.5rem;
  --modal-footer-bg: ;
  --modal-footer-border-color: var(--border-color);
  --modal-footer-border-width: var(--border-width);
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--modal-zindex);
  display: none;
  width: 100%;
  height: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  outline: 0;
}

.modal-dialog {
  position: relative;
  width: auto;
  margin: var(--modal-margin);
  pointer-events: none;
}

.modal.fade .modal-dialog {
  transition: transform 0.3s ease-out;
  transform: translate(0, -50px);
}

.modal.show .modal-dialog {
  transform: none;
}

.modal.modal-static .modal-dialog {
  transform: scale(1.02);
}

.modal-dialog-scrollable {
  height: calc(100% - var(--modal-margin) * 2);
}

.modal-dialog-scrollable .modal-content {
  max-height: 100%;
  overflow: hidden;
}

.modal-dialog-scrollable .modal-body {
  overflow-y: auto;
}

.modal-dialog-centered {
  display: flex;
  align-items: center;
  min-height: calc(100% - var(--modal-margin) * 2);
}

.modal-content {
  position: relative;
  display: flex;
  flex-direction: column;
  width: 100%;
  color: var(--modal-color);
  pointer-events: auto;
  background-color: var(--modal-bg);
  background-clip: padding-box;
  border: var(--modal-border-width) solid var(--modal-border-color);
  border-radius: var(--modal-border-radius);
  outline: 0;
}

.modal-backdrop {
  --backdrop-zindex: 1050;
  --backdrop-bg: #000;
  --backdrop-opacity: 0.5;
  position: fixed;
  top: 0;
  left: 0;
  z-index: var(--backdrop-zindex);
  width: 100vw;
  height: 100vh;
  background-color: var(--backdrop-bg);
}

.modal-backdrop.fade {
  opacity: 0;
}

.modal-backdrop.show {
  opacity: var(--backdrop-opacity);
}

.modal-header {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: space-between;
  padding: var(--modal-header-padding);
  border-bottom: var(--modal-header-border-width) solid
    var(--modal-header-border-color);
  border-top-left-radius: var(--modal-inner-border-radius);
  border-top-right-radius: var(--modal-inner-border-radius);
}

.modal-header .btn-close {
  padding: calc(var(--modal-header-padding-y) * 0.5)
    calc(var(--modal-header-padding-x) * 0.5);
  margin: calc(-0.5 * var(--modal-header-padding-y))
    calc(-0.5 * var(--modal-header-padding-x))
    calc(-0.5 * var(--modal-header-padding-y)) auto;
}

.modal-title {
  margin-bottom: 0;
  line-height: var(--modal-title-line-height);
}

.modal-body {
  position: relative;
  flex: 1 1 auto;
  padding: var(--modal-padding);
}

.modal-footer {
  display: flex;
  flex-shrink: 0;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-end;
  padding: calc(var(--modal-padding) - var(--modal-footer-gap) * 0.5);
  background-color: var(--modal-footer-bg);
  border-top: var(--modal-footer-border-width) solid
    var(--modal-footer-border-color);
  border-bottom-right-radius: var(--modal-inner-border-radius);
  border-bottom-left-radius: var(--modal-inner-border-radius);
}

.modal-footer > * {
  margin: calc(var(--modal-footer-gap) * 0.5);
}

@media (min-width: 576px) {
  .modal {
    --modal-margin: 1.75rem;
    --modal-box-shadow: 0 0.5rem 1rem rgba(0, 0, 0, 0.15);
  }

  .modal-dialog {
    max-width: var(--modal-width);
    margin-right: auto;
    margin-left: auto;
  }

  .modal-sm {
    --modal-width: 300px;
  }
}

@media (min-width: 992px) {
  .modal-lg,
  .modal-xl {
    --modal-width: 800px;
  }
}

@media (min-width: 1200px) {
  .modal-xl {
    --modal-width: 1140px;
  }
}

.modal-fullscreen {
  width: 100vw;
  max-width: none;
  height: 100%;
  margin: 0;
}

.modal-fullscreen .modal-content {
  height: 100%;
  border: 0;
  border-radius: 0;
}

.modal-fullscreen .modal-header,
.modal-fullscreen .modal-footer {
  border-radius: 0;
}

.modal-fullscreen .modal-body {
  overflow-y: auto;
}

@media (max-width: 575.98px) {
  .modal-fullscreen-sm-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-sm-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-header,
  .modal-fullscreen-sm-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-sm-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 767.98px) {
  .modal-fullscreen-md-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-md-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-header,
  .modal-fullscreen-md-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-md-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 991.98px) {
  .modal-fullscreen-lg-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-lg-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-header,
  .modal-fullscreen-lg-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-lg-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 1199.98px) {
  .modal-fullscreen-xl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-header,
  .modal-fullscreen-xl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xl-down .modal-body {
    overflow-y: auto;
  }
}

@media (max-width: 1399.98px) {
  .modal-fullscreen-xxl-down {
    width: 100vw;
    max-width: none;
    height: 100%;
    margin: 0;
  }
  .modal-fullscreen-xxl-down .modal-content {
    height: 100%;
    border: 0;
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-header,
  .modal-fullscreen-xxl-down .modal-footer {
    border-radius: 0;
  }
  .modal-fullscreen-xxl-down .modal-body {
    overflow-y: auto;
  }
}

.carousel-item.active,
.carousel-item-next,
.carousel-item-prev {
  display: block;
}

.carousel-item-next:not(.carousel-item-start),
.active.carousel-item-end {
  transform: translateX(100%);
}

.carousel-item-prev:not(.carousel-item-end),
.active.carousel-item-start {
  transform: translateX(-100%);
}

.carousel-fade .carousel-item.active,
.carousel-fade .carousel-item-next.carousel-item-start,
.carousel-fade .carousel-item-prev.carousel-item-end {
  z-index: 1;
  opacity: 1;
}

.carousel-fade .active.carousel-item-start,
.carousel-fade .active.carousel-item-end {
  z-index: 0;
  opacity: 0;
  transition: opacity 0s 0.6s;
}

.carousel-indicators .active {
  opacity: 1;
}

.spinner-grow,
.spinner-border {
  display: inline-block;
  width: var(--spinner-width);
  height: var(--spinner-height);
  vertical-align: var(--spinner-vertical-align);
  border-radius: 50%;
  animation: var(--spinner-animation-speed) linear infinite
    var(--spinner-animation-name);
}

.spinner-border {
  --spinner-width: 2rem;
  --spinner-height: 2rem;
  --spinner-vertical-align: -0.125em;
  --spinner-border-width: 0.25em;
  --spinner-animation-speed: 0.75s;
  --spinner-animation-name: spinner-border;
  border: var(--spinner-border-width) solid currentcolor;
  border-right-color: transparent;
}

.spinner-border-sm {
  --spinner-width: 1rem;
  --spinner-height: 1rem;
  --spinner-border-width: 0.2em;
}

.offcanvas.offcanvas-start {
  top: 0;
  left: 0;
  width: var(--offcanvas-width);
  border-right: var(--offcanvas-border-width) solid
    var(--offcanvas-border-color);
  transform: translateX(-100%);
}
.offcanvas.offcanvas-end {
  top: 0;
  right: 0;
  width: var(--offcanvas-width);
  border-left: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateX(100%);
}

.offcanvas.offcanvas-top {
  top: 0;
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-bottom: var(--offcanvas-border-width) solid
    var(--offcanvas-border-color);
  transform: translateY(-100%);
}
.offcanvas.offcanvas-bottom {
  right: 0;
  left: 0;
  height: var(--offcanvas-height);
  max-height: 100%;
  border-top: var(--offcanvas-border-width) solid var(--offcanvas-border-color);
  transform: translateY(100%);
}
.offcanvas.showing,
.offcanvas.show:not(.hiding) {
  transform: none;
}
.offcanvas.showing,
.offcanvas.hiding,
.offcanvas.show {
  visibility: visible;
}

.offcanvas-backdrop {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 1040;
  width: 100vw;
  height: 100vh;
  background-color: #000;
}
.offcanvas-backdrop.fade {
  opacity: 0;
}
.offcanvas-backdrop.show {
  opacity: 0.5;
}

.offcanvas-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding-inline: var(--spacing);
}

.offcanvas-title {
  margin-bottom: 0;
  line-height: var(--offcanvas-title-line-height);
}

.offcanvas-body {
  flex-grow: 1;
  padding: var(--offcanvas-padding-y) var(--offcanvas-padding-x);
  overflow-y: auto;
}

.placeholder.btn::before {
  display: inline-block;
  content: "";
}

.icon-link > .bi {
  flex-shrink: 0;
  width: 1em;
  height: 1em;
  fill: currentcolor;
  transition: 0.2s ease-in-out transform;
}

.icon-link-hover:hover > .bi,
.icon-link-hover:focus-visible > .bi {
  transform: var(--icon-link-transform, translate3d(0.25em, 0, 0));
}

.bi-arrow-bar-left::before {
  font-family: var(--font-icons);
  content: "\F113";
}

:root {
  --col-icon-max-width: 30px;
}

main {
  font-size: 14px;
}

.page-title,
.page-btns {
  flex-basis: content;
}

.section-marker {
  border-top: 2px solid var(--custody-yellow);
}

a.details-card {
  text-decoration: none;
}

.nav-link {
  font-weight: bold;
}

a.nav-link:hover {
  box-shadow: 0 -1px 0 #000 inset;
  text-decoration: none;
}

a.nav-link.active {
  box-shadow: 0 1px 0 #000 inset, 0 0 0 0 inset, 0 -1px 0 #000 inset,
    0 0 0 0 inset;
}

.grid {
  display: grid;
}

.grid-cols-2 {
  grid-template-columns: 1fr;
}

@media only screen and (min-width: 576px) {
  .grid-cols-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

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

@media only screen and (min-width: 576px) {
  .grid-cols-3 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media only screen and (min-width: 992px) {
  .grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.table {
  background-color: #fff;
  border-top: 1px solid #000;
  font-size: 1rem;
}

.table summary {
  list-style: none;
}

.table details:not([open]) summary {
  cursor: pointer;
}

.table details[open] summary {
  margin-bottom: 1rem;
}

.table details[open] summary .truncated {
  display: none;
}

.table details[open] summary::before {
  content: "×";
  /* This will render the 'X' */
}

/* --- Customer requirements accordion ------------------------------- */
/* Each requirement-type section is wrapped in a <details> with an <h2>
   inside <summary>. Native open/close; JS layers per-customer state. */
.section.accordion-wrap {
  border: 1px solid var(--hairline, #e2e2e2);
  border-radius: 8px;
  margin-block-end: 0.5rem;
  background-color: var(--surface-2, #fff);
  padding: 0;
}
details.requirement-accordion {
  border: 0;
  background: transparent;
}
details.requirement-accordion > summary.requirement-accordion-summary {
  list-style: none;
  cursor: pointer;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  padding: 0.75rem 1rem;
  user-select: none;
}
details.requirement-accordion > summary.requirement-accordion-summary::-webkit-details-marker {
  display: none;
}
details.requirement-accordion > summary.requirement-accordion-summary::before {
  content: "›";
  display: inline-block;
  font-size: 1.4rem;
  line-height: 1;
  color: var(--ink-muted, #666);
  transition: transform 0.15s ease;
  transform: rotate(0deg);
}
details.requirement-accordion[open] > summary.requirement-accordion-summary::before {
  transform: rotate(90deg);
}
details.requirement-accordion > summary.requirement-accordion-summary > h2 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 600;
}
details.requirement-accordion > summary.requirement-accordion-summary:hover {
  background-color: var(--surface-3, rgba(0,0,0,0.02));
}
details.requirement-accordion > .requirement-accordion-body {
  padding: 0 1rem 1rem;
  border-top: 1px solid var(--hairline, #e2e2e2);
}

/* --- Expandable text cells (word-truncated) ------------------------- */
.table td.expandable-cell {
  white-space: normal;
  vertical-align: top;
  max-width: 28rem;
}
.table td.expandable-cell .expandable > summary.expandable-summary {
  list-style: none;
  cursor: pointer;
  display: inline;
  color: var(--ink, inherit);
}
.table td.expandable-cell .expandable > summary.expandable-summary::-webkit-details-marker {
  display: none;
}
.table td.expandable-cell .expandable .expandable-short { display: inline; }
.table td.expandable-cell .expandable .expandable-close { display: none; }
.table td.expandable-cell .expandable[open] .expandable-short { display: none; }
.table td.expandable-cell .expandable[open] .expandable-close {
  display: inline-block;
  margin-block-end: 0.35rem;
  color: var(--ink-muted, #666);
  font-weight: 600;
  font-size: 0.8125rem;
}
.table td.expandable-cell .expandable .expandable-full {
  white-space: pre-wrap;
  word-break: break-word;
}
/* Neutralise the legacy .table details[open] rules on the new markup */
.table td.expandable-cell .expandable[open] > summary.expandable-summary {
  margin-bottom: 0;
}
.table td.expandable-cell .expandable[open] > summary.expandable-summary::before {
  content: none;
}

.table p {
  margin-block: 0;
}

.table {
  border-bottom: 0px !important;
}

.table th,
.table td {
  border: 1px !important;
}

.btn-primary:hover,
.btn-edit:hover {
  background-color: #cc9a06;
}

.btn-edit {
  margin: auto;
  width: 5rem;
}

.td-history-btn-icon {
  width: var(--col-icon-max-width);
}

.table_logo {
  height: 40px;
}

.table thead > tr th.sorting[aria-label^="Edit"],
.table thead > tr th.sorting[aria-label^="Show"],
table.dataTable thead > tr th.sorting[aria-label^="Edit"],
table.dataTable thead > tr th.sorting[aria-label^="Show"] {
  text-align: center;
  width: var(--col-icon-min-max-width);
}

.table thead > tr th.sorting[aria-label^="Edit"]::before,
.table thead > tr th.sorting[aria-label^="Edit"]::after,
.table thead > tr th.sorting[aria-label^="Show"]::before,
.table thead > tr th.sorting[aria-label^="Show"]::after,
table.dataTable thead > tr th.sorting[aria-label^="Edit"]::before,
table.dataTable thead > tr th.sorting[aria-label^="Edit"]::after,
table.dataTable thead > tr th.sorting[aria-label^="Show"]::before,
table.dataTable thead > tr th.sorting[aria-label^="Show"]::after {
  display: none;
}

.table thead > tr th.sorting[aria-label^="History"],
.table thead > tr th.sorting[aria-label^="Hist"],
table.dataTable thead > tr th.sorting[aria-label^="History"],
table.dataTable thead > tr th.sorting[aria-label^="Hist"] {
  text-align: center;
}

.table thead > tr th.sorting[aria-label^="History"]::before,
.table thead > tr th.sorting[aria-label^="History"]::after,
.table thead > tr th.sorting[aria-label^="Hist"]::before,
.table thead > tr th.sorting[aria-label^="Hist"]::after,
table.dataTable thead > tr th.sorting[aria-label^="History"]::before,
table.dataTable thead > tr th.sorting[aria-label^="History"]::after,
table.dataTable thead > tr th.sorting[aria-label^="Hist"]::before,
table.dataTable thead > tr th.sorting[aria-label^="Hist"]::after {
  display: none;
}

.table td.na,
table.dataTable td.na {
  background-color: transparent;
}

.table td.tbc,
table.dataTable td.tbc {
  color: var(--color-white);
}

.table td.issue,
table.dataTable td.issue {
  color: var(--color-white);
  box-shadow: none !important;
}

.table td.issue td,
table.dataTable td.issue td {
  color: var(--color-white);
}

.table td.issue a,
table.dataTable td.issue a {
  color: var(--color-white);
}

.table td.issue:hover td,
.table td.issue:hover td a,
table.dataTable td.issue:hover td,
table.dataTable td.issue:hover td a {
  color: #000;
}

.table td.issue .btn,
table.dataTable td.issue .btn {
  color: #000;
}

.table td.check,
table.dataTable td.check {
  box-shadow: none !important;
}

.table td.complete,
table.dataTable td.complete {
  color: var(--color-white);
  box-shadow: none !important;
}

.table td.awaiting-customer,
table.dataTable td.awaiting-customer {
  box-shadow: none !important;
}

.table td img,
table.dataTable td img {
  max-width: 100%;
}

.table.table-tiny > :not(caption) > * > * {
  padding: 0.15rem 0.5rem !important;
}

.row_data {
  vertical-align: middle;
}

table.dataTable.hover tbody tr:hover,
table.dataTable.display tbody tr:hover {
  background-color: #adb5bd;
}

div.dataTables_filter,
div.dataTables_length {
  display: inline-block;
  margin-left: 1em;
}

.paginate_button.active {
  color: #000;
  background-color: #fff;
  border-color: unset;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
  padding: unset;
}

.page-item.active .page-link {
  z-index: 3;
  color: #fff;
  background-color: #0dcaf0;
  border-color: #0dcaf0;
}

.alphabet {
  display: flex;
  width: 100%;
  margin-bottom: 1em;
  gap: 1rem;
}

.alphabet span {
  display: table-cell;
  color: #000;
  cursor: pointer;
  text-align: center;
  width: 3.5%;
  background-color: var(--custody-yellow);
  border-radius: var(--border-radius-sm);
}

.alphabet span:hover {
  text-decoration: none;
  background-color: #cc9a06;
}

.alphabet span.active {
  color: black;
}

.alphabet span.active {
  color: black;
}

.month-pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  clear: both;
  margin-top: 6px;
  border-top: 1px solid black;
  padding-block-start: 0.5em;
}

.month-pagination .disabled {
  cursor: default;
}

.month-pagination .disabled .prev-month,
.month-pagination .disabled .next-month {
  color: var(--pagination-disabled-color);
}

.current-month,
.prev-month,
.next-month {
  display: flex;
  align-items: center;
  background: none;
  box-shadow: none;
  padding: 0;
  font-size: 0.9rem;
  padding-inline: 0.4rem;
  padding-block: 0.1rem;
  border: 1px solid #dee2e6;
}

.current-month:hover:not(.disabled),
.prev-month:hover:not(.disabled),
.next-month:hover:not(.disabled) {
  cursor: pointer;
  transition: background-color 200ms linear;
  background-color: var(--pagination-hover-bg);
}

.current-month {
  display: flex;
  justify-content: center;
  align-items: center;
  min-width: 16ch;
  padding-inline: 1ch;
  text-align: center;
  border-left: none;
  border-right: none;
}

.prev-month {
  border-top-left-radius: var(--pagination-border-radius);
  border-bottom-left-radius: var(--pagination-border-radius);
}

.next-month {
  border-top-right-radius: var(--pagination-border-radius);
  border-bottom-right-radius: var(--pagination-border-radius);
}

select:required,
input:required {
  background-color: rgba(170, 213, 170, 0.5);
}

.was-validated .form-control:invalid {
  background-color: rgba(213, 189, 170, 0.5);
}

.table td.issue {
  color: var(--color-white);
  background-color: var(--color-status-issue);
}

.table td.complete {
  background-color: var(--color-status-complete);
  color: var(--color-white);
}

.table td.tbc {
  background-color: var(--color-status-tbc);
  color: var(--color-white);
}

.table td.na,
table.dataTable td.na {
  background-color: transparent;
}

.table td.check {
  color: var(--color-white);
  background-color: var(--color-status-check);
}

.table td.awaiting-customer {
  color: var(--color-white);
  background-color: var(--color-status-awaiting);
}

form label {
  width: fit-content;
  height: fit-content;
  min-width: 14rem;
}

input[type="text"]:disabled {
  background-color: #adb5bd;
}

.btn-history:hover {
  background-color: var(--custody-yellow);
}

.cards-notes .row {
  margin-inline: 0;
  gap: 1rem;
}

.section {
  margin-bottom: var(--spacing);
}



.section.key-info {
  position: relative;
  height: 100%;
  border-top: 2px solid var(--custody-yellow);
  display: flex;
  flex-direction: column;
  --draggable-padding-start: var(--spacing-sm);
}

.section.key-info > div {
  position: relative;
  height: 100%;
  display: flex;
  flex-direction: column;
}

.section.key-info h3,
.section.key-info .h3 {
  margin: 0;
  /* padding-block-start: 0.5rem;   */
  position: relative;
}

.section.key-info .dataTables_paginate {
  position: relative;
  padding-block: 0.5rem;
  align-self: flex-end;
  margin-block-start: auto;
  display: flex;
  justify-content: center;
  width: 100%;
}

.section.key-info .dataTables_paginate ul.pagination {
  margin: auto;
  display: flex;
  justify-content: center;
  align-self: flex-end;
}

.section.key-info .page-link {
  font-size: 0.9rem;
  padding-inline: 0.4rem;
  padding-block: 0.1rem;
}

.section.key-info tr {
  height: 1rem;
  overflow: hidden;
}

.section.key-info td {
  height: 1rem;
  overflow: hidden;
}

.contact-details {
  display: grid;
  /* grid-template-columns: repeat(3, 1fr); */
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  margin-block-end: var(--spacing);

  .panel {
    padding: var(--spacing-xs);
  }
}

.contact-card{
  img{
    width:100%;
  }
}

/* Spacing for the "Add Contact" action at the foot of the Contacts section,
   so the button doesn't sit flush against the last contact card. */
.section-actions {
  margin-top: 1rem;
}

@media only screen and (min-width: 992px) {
  .contact-card {
    flex-direction: column;
  }
  .contact-card .col {
    flex: 1 0 0%;
  }
}

.requirement-form .name .form-control,
.requirement-form .type .form-control {
  width: unset;
  display: unset;
}

.requirement-list div.dataTables_wrapper div.dataTables_info {
  padding-top: 0;
}

.admin-links.row > * {
  width: unset;
}

.btn-new-record {
  display: flex;
  flex-direction: row-reverse;
}

.additional-info {
  position: absolute;
  display: grid;
  gap: var(--spacing-sm);
  margin-block-end: var(--spacing);
  margin-inline: var(--spacing);
  left: 0;
  right: 0;
  bottom: 0;
}

.additional-info-header {
  border-top-left-radius: var(--border-radius);
  border-top-right-radius: var(--border-radius);
  background-color: var(--color-secondary);
  color: var(--color-white);
  padding: var(--spacing-sm) var(--spacing);
}

.openModal:hover {
  cursor: pointer;
}

.custom-modal {
  position: fixed;
  box-shadow: 0px -2px 0px 0px var(--custody-yellow);
  /* Position, width, height, top, left are set dynamically by JavaScript */
}

.custom-modal .modal-dialog {
  width: 100%;
  max-width: 100%;
  height: 100%;
  margin-block: 0;
  margin-inline: 0;
  border: 1px solid var(--custody-yellow);
}

.custom-modal .modal-content {
  width: 100%;
  height: 100%;
  border-radius: 0;
  overflow-y: hidden;
  border: none;
}

.modal-backdrop.show {
  display: none;
}

.roadmap.panel .btn {
  /* Sit below the editor (matches the Add New Note button) rather than being
     pinned to the panel's top-right corner. */
  margin-top: 0.76rem;
}

.page-cards details:not(:has(.truncated)) {
  border: #000 solid 1px;
  transition: block-size 1s;
  padding-block-end: 0.5em;
}

.draggable {
  /* margin: 0; */
  position: relative;
  --draggable-padding-start: 0;
  --draggable-padding-end: var(--spacing-sm);
  h3 {
    margin: unset;
    padding-block-start: var(--draggable-padding-start);
    padding-block-end: var(--draggable-padding-end);
    /* margin-inline-start: var(--spacing-sm); */
    font-size: 1.75rem;
  }
  details {
    /* padding: var(--spacing-xs) var(--spacing) var(--spacing); */
  }
}

.draggable::before {
  padding-block-start: var(--draggable-padding-start);
  padding-block-end: var(--draggable-padding-end);
  position: absolute;
  font-size: 1.75rem;
  cursor: move;
  font-family: var(--font-icons);
  content: "\F3FE";
  width: fit-content;
}

#dashboard-drag-and-drop-container {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(min(30rem, 100%), 1fr));
}

.drag-and-drop-container:not(.single-item) .draggable summary {
  margin-inline-start: 1.5rem;
  display: inline-block;
}
.drag-and-drop-container:not(.single-item) .draggable summary:hover {
  cursor: pointer;
}

.overflow-x-hidden {
  overflow-x: hidden;
}

.grid {
  display: grid;
}

.grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

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

.password-dialog {
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  padding: 0;
  max-width: 500px;
  width: 90%;
}

.password-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.dialog-content {
  padding: 0;
}

.dialog-header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 1rem 1.5rem;
  border-bottom: 1px solid #dee2e6;
  background-color: #f8f9fa;
  border-radius: 8px 8px 0 0;
}

.dialog-header h5 {
  margin: 0;
  font-weight: 500;
}

.btn-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  cursor: pointer;
  color: #6c757d;
}

.btn-close:hover {
  color: #000;
}

.dialog-body {
  padding: 1.5rem;
}

.dialog-footer {
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  padding: 1rem 1.5rem;
  border-top: 1px solid #dee2e6;
  background-color: #f8f9fa;
  border-radius: 0 0 8px 8px;
}

.dynamic-dialog {
  width: 80vw;
  height: 80vh;
  padding: 0;
  border: none;
  border-radius: 8px;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.3);
}

.dynamic-dialog .dialog-content {
  height: 100%;
  display: flex;
  flex-direction: column;
}

.dynamic-dialog .dialog-body {
  flex: 1;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dynamic-dialog .h-100 {
  height: 100% !important;
  flex: 1;
  display: flex;
  flex-direction: column;
}

.dynamic-dialog .input-group.flex-column {
  height: 100%;
  flex: 1;
  flex-direction: column !important;
  align-items: stretch;
}

.dynamic-dialog .input-group.flex-column .form-control {
  flex: 1;
  height: 100%;
  resize: vertical;
}

.dynamic-dialog .input-group.flex-column .input-group-text {
  flex-shrink: 0;
}

.dynamic-dialog .btn.h-fit {
  height: fit-content;
  margin-top: auto;
  flex-shrink: 0;
}

.dynamic-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
}

.single-item .draggable {
  cursor: default !important;
}

.single-item .draggable:hover {
  transform: none !important;
}

.single-item .draggable::before {
  display: none !important;
}

.theme-selector-container {
  margin: 1rem;
  border-top: 1px solid #dee2e6;
  border-bottom: 1px solid #dee2e6;
}

.theme-selector-container .form-label {
  color: var(--offcanvas-bg);
  filter: invert(100%);
  font-weight: 600;
  margin-block: var(--spacing);
  display: block;
}

#theme-selector {
  width: 100%;
  border: 1px solid #ced4da;
  border-radius: 4px;
  font-size: 14px;
  background-color: #fff;
  cursor: pointer;
}

#theme-selector:focus {
  outline: none;
  border-color: #80bdff;
  box-shadow: 0 0 0 0.2rem rgba(0, 123, 255, 0.25);
}

.theme-actions {
  display: flex;
  gap: 8px;
}

#theme-apply-btn,
#theme-cancel-btn {
  padding: 4px 12px;
  font-size: 13px;
  border-radius: 4px;
  cursor: pointer;
}

#theme-apply-btn {
  background-color: #007bff;
  color: white;
  border: 1px solid #007bff;
}

#theme-apply-btn:hover {
  background-color: #0069d9;
}

#theme-cancel-btn {
  background-color: #6c757d;
  color: white;
  border: 1px solid #6c757d;
}

#theme-cancel-btn:hover {
  background-color: #5a6268;
}

.alert{
  padding:var(--spacing);
  margin-block-start: var(--spacing);
}

.alert-warning {
  background-color: #fff3cd;
  border: 1px solid #ffc107;
  color: #856404;
}

[data-boolean-state="true"] {
  .boolean-state {
    color: var(--color-status-complete);
  }
}
[data-boolean-state="false"] {
  .boolean-state {
    color: var(--color-status-issue);
  }
}



/* ============================================================================
   PAGE SPECIFIC CLASSES
   ============================================================================ */

/* Customer Edit */
.customer-edit .section:not(:first-child) {
  margin-top: var(--spacing-xxl);
}

/* ============================================================================
   UTILITY CLASSES
   ============================================================================ */

/* make an element visible to screen readers but invisible to sighted users */
.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.d-none{
  display:none;
}

.border {
  border: var(--border-width) var(--border-style) var(--border-color);
}

.text-danger {
  --text-opacity: 1;
  color: rgba(var(--color-danger-rgb), var(--text-opacity));
}

.text-light,
.additional-info-header {
  --text-opacity: 1;
  color: rgba(var(--color-light-rgb), var(--text-opacity));
}

.text-reset {
  --text-opacity: 1;
  color: inherit;
}

.text-danger-emphasis {
  color: var(--color-danger-darker);
}

.bg-secondary,
.additional-info-header {
  --bg-opacity: 1;
  background-color: rgba(
    var(--color-secondary-rgb),
    var(--bg-opacity)
  ) !important;
}

.bg-custody-yellow {
  --bg-opacity: 1;
  background-color: rgba(
    var(--custody-yellow-rgb),
    var(--bg-opacity)
  ) !important;
}

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

.rounded-top,
.additional-info-header {
  border-top-left-radius: var(--border-radius) !important;
  border-top-right-radius: var(--border-radius) !important;
}



/* ============================================================================
section{
  margin-block-end:var(--spacing);
}
LEGACY RULES - FOR FUTURE DELETION
============================================================================ */
/* .layout-33-66{
} */

/* h6, .h6, h5, .h5, .customer-requirements-section-header, h4, .h4, h3, .h3, h2, .h2, h1, .h1 {
  margin-top: 0;
  margin-bottom: 0.5rem;
  font-weight: 500;
  line-height: 1.2;
  color: var(--color-heading);
} */
/* 
  h1, .h1 {
    font-size: calc(1.375rem + 1.5vw);
  }

  h2, .h2 {
    font-size: calc(1.325rem + 0.9vw);
  }

  h3, .h3 {
    font-size: calc(1.3rem + 0.6vw);

  }

  h4, .h4 {
    font-size: calc(1.275rem + 0.3vw);
  }

  h5, .h5, .customer-requirements-section-header {
    font-size: 1.25rem;
  }

  h6, .h6 {
    font-size: 1rem;
  } */

/* .layout-33-66{
  .content{
    display:grid;
    grid-template-columns:1fr auto;
    gap:var(--spacing);
    div{
      display:flex; 
      flex-direction:column;
    }
  }
  section{
    margin-block-end:var(--spacing);
  }
} */

/* .col {
  flex: 1 0 0%;
} */

/* @media (min-width: 768px) {
  .d-lg-flex {
    display: flex !important;
  }
}
@media (min-width: 768px) {
    .d-lg-flex {
    display: flex !important;
  }
}

  .flex-row-reverse {
    flex-direction: row-reverse;
  } */

/*
  .btn-secondary {
    --btn-color: #fff;
    --btn-bg: #6c757d;
    --btn-border-color: #6c757d;
    --btn-hover-color: #fff;
    --btn-hover-bg: #5c636a;
    --btn-hover-border-color: #565e64;
    --btn-focus-shadow-rgb: 130, 138, 145;
    --btn-active-color: #fff;
    --btn-active-bg: #565e64;
    --btn-active-border-color: #51585e;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #6c757d;
    --btn-disabled-border-color: #6c757d;
  }

  .btn-success {
    --btn-color: #fff;
    --btn-bg: #198754;
    --btn-border-color: #198754;
    --btn-hover-color: #fff;
    --btn-hover-bg: #157347;
    --btn-hover-border-color: #146c43;
    --btn-focus-shadow-rgb: 60, 153, 110;
    --btn-active-color: #fff;
    --btn-active-bg: #146c43;
    --btn-active-border-color: #13653f;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #198754;
    --btn-disabled-border-color: #198754;
  }

  .btn-info {
    --btn-color: #000;
    --btn-bg: #0dcaf0;
    --btn-border-color: #0dcaf0;
    --btn-hover-color: #000;
    --btn-hover-bg: #31d2f2;
    --btn-hover-border-color: #25cff2;
    --btn-focus-shadow-rgb: 11, 172, 204;
    --btn-active-color: #000;
    --btn-active-bg: #3dd5f3;
    --btn-active-border-color: #25cff2;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #000;
    --btn-disabled-bg: #0dcaf0;
    --btn-disabled-border-color: #0dcaf0;
  }

  .btn-warning {
    --btn-color: #000;
    --btn-bg: #ffc107;
    --btn-border-color: #ffc107;
    --btn-hover-color: #000;
    --btn-hover-bg: #ffca2c;
    --btn-hover-border-color: #ffc720;
    --btn-focus-shadow-rgb: 217, 164, 6;
    --btn-active-color: #000;
    --btn-active-bg: #ffcd39;
    --btn-active-border-color: #ffc720;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #000;
    --btn-disabled-bg: #ffc107;
    --btn-disabled-border-color: #ffc107;
  }

  .btn-light {
    --btn-color: #000;
    --btn-bg: #f8f9fa;
    --btn-border-color: #f8f9fa;
    --btn-hover-color: #000;
    --btn-hover-bg: #d3d4d5;
    --btn-hover-border-color: #c6c7c8;
    --btn-focus-shadow-rgb: 211, 212, 213;
    --btn-active-color: #000;
    --btn-active-bg: #c6c7c8;
    --btn-active-border-color: #babbbc;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #000;
    --btn-disabled-bg: #f8f9fa;
    --btn-disabled-border-color: #f8f9fa;
  }

  .btn-dark, .login-form button {
    --btn-color: #fff;
    --btn-bg: #212529;
    --btn-border-color: #212529;
    --btn-hover-color: #fff;
    --btn-hover-bg: #424649;
    --btn-hover-border-color: #373b3e;
    --btn-focus-shadow-rgb: 66, 70, 73;
    --btn-active-color: #fff;
    --btn-active-bg: #4d5154;
    --btn-active-border-color: #373b3e;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #212529;
    --btn-disabled-border-color: #212529;
  }

  .btn-custody-yellow {
    --btn-color: #000;
    --btn-bg: var(--custody-yellow);
    --btn-border-color: var(--custody-yellow);
    --btn-hover-color: #000;
    --btn-hover-bg: #fcd77f;
    --btn-hover-border-color: #fbd577;
    --btn-focus-shadow-rgb: 213, 177, 88;
    --btn-active-color: #000;
    --btn-active-bg: #fcd986;
    --btn-active-border-color: #fbd577;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #000;
    --btn-disabled-bg: var(--custody-yellow);
    --btn-disabled-border-color: var(--custody-yellow);
  }

  .btn-gray-800 {
    --btn-color: #fff;
    --btn-bg: #343a40;
    --btn-border-color: #343a40;
    --btn-hover-color: #fff;
    --btn-hover-bg: #2c3136;
    --btn-hover-border-color: #2a2e33;
    --btn-focus-shadow-rgb: 82, 88, 93;
    --btn-active-color: #fff;
    --btn-active-bg: #2a2e33;
    --btn-active-border-color: #272c30;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #343a40;
    --btn-disabled-border-color: #343a40;
  }

  .btn-issue {
    --btn-color: #fff;
    --btn-bg: #dc3545;
    --btn-border-color: #dc3545;
    --btn-hover-color: #fff;
    --btn-hover-bg: #bb2d3b;
    --btn-hover-border-color: #b02a37;
    --btn-focus-shadow-rgb: 225, 83, 97;
    --btn-active-color: #fff;
    --btn-active-bg: #b02a37;
    --btn-active-border-color: #a52834;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #dc3545;
    --btn-disabled-border-color: #dc3545;
  }

  .btn-complete {
    --btn-color: #fff;
    --btn-bg: #198754;
    --btn-border-color: #198754;
    --btn-hover-color: #fff;
    --btn-hover-bg: #157347;
    --btn-hover-border-color: #146c43;
    --btn-focus-shadow-rgb: 60, 153, 110;
    --btn-active-color: #fff;
    --btn-active-bg: #146c43;
    --btn-active-border-color: #13653f;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #198754;
    --btn-disabled-border-color: #198754;
  }

  .btn-awaiting-customer {
    --btn-color: #000;
    --btn-bg: #ffc107;
    --btn-border-color: #ffc107;
    --btn-hover-color: #000;
    --btn-hover-bg: #ffca2c;
    --btn-hover-border-color: #ffc720;
    --btn-focus-shadow-rgb: 217, 164, 6;
    --btn-active-color: #000;
    --btn-active-bg: #ffcd39;
    --btn-active-border-color: #ffc720;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #000;
    --btn-disabled-bg: #ffc107;
    --btn-disabled-border-color: #ffc107;
  }

  .btn-check {
    --btn-color: #000;
    --btn-bg: #fd7e14;
    --btn-border-color: #fd7e14;
    --btn-hover-color: #000;
    --btn-hover-bg: #fd9137;
    --btn-hover-border-color: #fd8b2c;
    --btn-focus-shadow-rgb: 215, 107, 17;
    --btn-active-color: #000;
    --btn-active-bg: #fd9843;
    --btn-active-border-color: #fd8b2c;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #000;
    --btn-disabled-bg: #fd7e14;
    --btn-disabled-border-color: #fd7e14;
  }

  .btn-tbc {
    --btn-color: #fff;
    --btn-bg: #0d6efd;
    --btn-border-color: #0d6efd;
    --btn-hover-color: #fff;
    --btn-hover-bg: #0b5ed7;
    --btn-hover-border-color: #0a58ca;
    --btn-focus-shadow-rgb: 49, 132, 253;
    --btn-active-color: #fff;
    --btn-active-bg: #0a58ca;
    --btn-active-border-color: #0a53be;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fff;
    --btn-disabled-bg: #0d6efd;
    --btn-disabled-border-color: #0d6efd;
  }

  .btn-outline-primary {
    --btn-color: var(--custody-yellow);
    --btn-border-color: var(--custody-yellow);
    --btn-hover-color: #000;
    --btn-hover-bg: var(--custody-yellow);
    --btn-hover-border-color: var(--custody-yellow);
    --btn-focus-shadow-rgb: 251, 208, 104;
    --btn-active-color: #000;
    --btn-active-bg: var(--custody-yellow);
    --btn-active-border-color: var(--custody-yellow);
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: var(--custody-yellow);
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: var(--custody-yellow);
    --gradient: none;
  }

  .btn-outline-secondary {
    --btn-color: #6c757d;
    --btn-border-color: #6c757d;
    --btn-hover-color: #fff;
    --btn-hover-bg: #6c757d;
    --btn-hover-border-color: #6c757d;
    --btn-focus-shadow-rgb: 108, 117, 125;
    --btn-active-color: #fff;
    --btn-active-bg: #6c757d;
    --btn-active-border-color: #6c757d;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #6c757d;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #6c757d;
    --gradient: none;
  }

  .btn-outline-success {
    --btn-color: #198754;
    --btn-border-color: #198754;
    --btn-hover-color: #fff;
    --btn-hover-bg: #198754;
    --btn-hover-border-color: #198754;
    --btn-focus-shadow-rgb: 25, 135, 84;
    --btn-active-color: #fff;
    --btn-active-bg: #198754;
    --btn-active-border-color: #198754;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #198754;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #198754;
    --gradient: none;
  }

  .btn-outline-info {
    --btn-color: #0dcaf0;
    --btn-border-color: #0dcaf0;
    --btn-hover-color: #000;
    --btn-hover-bg: #0dcaf0;
    --btn-hover-border-color: #0dcaf0;
    --btn-focus-shadow-rgb: 13, 202, 240;
    --btn-active-color: #000;
    --btn-active-bg: #0dcaf0;
    --btn-active-border-color: #0dcaf0;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #0dcaf0;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #0dcaf0;
    --gradient: none;
  }

  .btn-outline-warning {
    --btn-color: #ffc107;
    --btn-border-color: #ffc107;
    --btn-hover-color: #000;
    --btn-hover-bg: #ffc107;
    --btn-hover-border-color: #ffc107;
    --btn-focus-shadow-rgb: 255, 193, 7;
    --btn-active-color: #000;
    --btn-active-bg: #ffc107;
    --btn-active-border-color: #ffc107;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #ffc107;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #ffc107;
    --gradient: none;
  }

  .btn-outline-danger {
    --btn-color: green;
    --btn-border-color: green;
    --btn-hover-color: #fff;
    --btn-hover-bg: green;
    --btn-hover-border-color: green;
    --btn-focus-shadow-rgb: 0, 128, 0;
    --btn-active-color: #fff;
    --btn-active-bg: green;
    --btn-active-border-color: green;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: green;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: green;
    --gradient: none;
  }

  .btn-outline-light {
    --btn-color: #f8f9fa;
    --btn-border-color: #f8f9fa;
    --btn-hover-color: #000;
    --btn-hover-bg: #f8f9fa;
    --btn-hover-border-color: #f8f9fa;
    --btn-focus-shadow-rgb: 248, 249, 250;
    --btn-active-color: #000;
    --btn-active-bg: #f8f9fa;
    --btn-active-border-color: #f8f9fa;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #f8f9fa;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #f8f9fa;
    --gradient: none;
  }

  .btn-outline-dark {
    --btn-color: #212529;
    --btn-border-color: #212529;
    --btn-hover-color: #fff;
    --btn-hover-bg: #212529;
    --btn-hover-border-color: #212529;
    --btn-focus-shadow-rgb: 33, 37, 41;
    --btn-active-color: #fff;
    --btn-active-bg: #212529;
    --btn-active-border-color: #212529;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #212529;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #212529;
    --gradient: none;
  }

  .btn-outline-custody-yellow {
    --btn-color: var(--custody-yellow);
    --btn-border-color: var(--custody-yellow);
    --btn-hover-color: #000;
    --btn-hover-bg: var(--custody-yellow);
    --btn-hover-border-color: var(--custody-yellow);
    --btn-focus-shadow-rgb: 251, 208, 104;
    --btn-active-color: #000;
    --btn-active-bg: var(--custody-yellow);
    --btn-active-border-color: var(--custody-yellow);
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: var(--custody-yellow);
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: var(--custody-yellow);
    --gradient: none;
  }

  .btn-outline-gray-800 {
    --btn-color: #343a40;
    --btn-border-color: #343a40;
    --btn-hover-color: #fff;
    --btn-hover-bg: #343a40;
    --btn-hover-border-color: #343a40;
    --btn-focus-shadow-rgb: 52, 58, 64;
    --btn-active-color: #fff;
    --btn-active-bg: #343a40;
    --btn-active-border-color: #343a40;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #343a40;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #343a40;
    --gradient: none;
  }

  .btn-outline-issue {
    --btn-color: #dc3545;
    --btn-border-color: #dc3545;
    --btn-hover-color: #fff;
    --btn-hover-bg: #dc3545;
    --btn-hover-border-color: #dc3545;
    --btn-focus-shadow-rgb: 220, 53, 69;
    --btn-active-color: #fff;
    --btn-active-bg: #dc3545;
    --btn-active-border-color: #dc3545;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #dc3545;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #dc3545;
    --gradient: none;
  }

  .btn-outline-complete {
    --btn-color: #198754;
    --btn-border-color: #198754;
    --btn-hover-color: #fff;
    --btn-hover-bg: #198754;
    --btn-hover-border-color: #198754;
    --btn-focus-shadow-rgb: 25, 135, 84;
    --btn-active-color: #fff;
    --btn-active-bg: #198754;
    --btn-active-border-color: #198754;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #198754;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #198754;
    --gradient: none;
  }

  .btn-outline-awaiting-customer {
    --btn-color: #ffc107;
    --btn-border-color: #ffc107;
    --btn-hover-color: #000;
    --btn-hover-bg: #ffc107;
    --btn-hover-border-color: #ffc107;
    --btn-focus-shadow-rgb: 255, 193, 7;
    --btn-active-color: #000;
    --btn-active-bg: #ffc107;
    --btn-active-border-color: #ffc107;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #ffc107;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #ffc107;
    --gradient: none;
  }

  .btn-outline-check {
    --btn-color: #fd7e14;
    --btn-border-color: #fd7e14;
    --btn-hover-color: #000;
    --btn-hover-bg: #fd7e14;
    --btn-hover-border-color: #fd7e14;
    --btn-focus-shadow-rgb: 253, 126, 20;
    --btn-active-color: #000;
    --btn-active-bg: #fd7e14;
    --btn-active-border-color: #fd7e14;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #fd7e14;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #fd7e14;
    --gradient: none;
  }

  .btn-outline-tbc {
    --btn-color: #0d6efd;
    --btn-border-color: #0d6efd;
    --btn-hover-color: #fff;
    --btn-hover-bg: #0d6efd;
    --btn-hover-border-color: #0d6efd;
    --btn-focus-shadow-rgb: 13, 110, 253;
    --btn-active-color: #fff;
    --btn-active-bg: #0d6efd;
    --btn-active-border-color: #0d6efd;
    --btn-active-shadow: inset 0 3px 5px rgba(0, 0, 0, 0.125);
    --btn-disabled-color: #0d6efd;
    --btn-disabled-bg: transparent;
    --btn-disabled-border-color: #0d6efd;
    --gradient: none;
  }

  .btn-link {
    --btn-font-weight: 400;
    --btn-color: var(--color-link);
    --btn-bg: transparent;
    --btn-border-color: transparent;
    --btn-hover-color: var(--color-link-hover);
    --btn-hover-border-color: transparent;
    --btn-active-color: var(--color-link-hover);
    --btn-active-border-color: transparent;
    --btn-disabled-color: #6c757d;
    --btn-disabled-border-color: transparent;
    --btn-box-shadow: 0 0 0 #000;
    --btn-focus-shadow-rgb: 38, 38, 38;
    text-decoration: underline;
  } */

  /* 
.list-group-horizontal > .list-group-item.active {
  margin-top: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item {
  border-top-width: var(--list-group-border-width);
  border-left-width: 0;
}

.list-group-horizontal > .list-group-item + .list-group-item.active {
  margin-left: calc(-1 * var(--list-group-border-width));
  border-left-width: var(--list-group-border-width);
}

.list-group-flush {
  border-radius: 0;
}

.list-group-flush > .list-group-item {
  border-width: 0 0 var(--list-group-border-width);
}

.list-group-flush > .list-group-item:last-child {
  border-bottom-width: 0;
}

.list-group-item-primary {
  --list-group-color: #64532a;
  --list-group-bg: var(--color-yellow-lighter);
  --list-group-border-color: #fdecc3;
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: #fdecc3;
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: #fdecc3;
  --list-group-active-color: var(--color-yellow-lighter);
  --list-group-active-bg: #64532a;
  --list-group-active-border-color: #64532a;
}

.list-group-item-secondary {
  --list-group-color: #2b2f32;
  --list-group-bg: var(--color-gray-subtle);
  --list-group-border-color: #c4c8cb;
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: #c4c8cb;
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: #c4c8cb;
  --list-group-active-color: var(--color-gray-subtle);
  --list-group-active-bg: #2b2f32;
  --list-group-active-border-color: #2b2f32;
}

.list-group-item-success {
  --list-group-color: #0a3622;
  --list-group-bg: var(--color-success-subtle-bg);
  --list-group-border-color: #a3cfbb;
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: #a3cfbb;
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: #a3cfbb;
  --list-group-active-color: var(--color-success-subtle-bg);
  --list-group-active-bg: #0a3622;
  --list-group-active-border-color: #0a3622;
}

.list-group-item-info {
  --list-group-color: #055160;
  --list-group-bg: var(--color-info-subtle);
  --list-group-border-color: #9eeaf9;
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: #9eeaf9;
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: #9eeaf9;
  --list-group-active-color: var(--color-info-subtle);
  --list-group-active-bg: #055160;
  --list-group-active-border-color: #055160;
}

.list-group-item-warning {
  --list-group-color: var(--color-warning-text-dark);
  --list-group-bg: var(--color-warning-subtle-bg);
  --list-group-border-color: var(--color-warning-lighter);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--color-warning-lighter);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--color-warning-lighter);
  --list-group-active-color: var(--color-warning-subtle-bg);
  --list-group-active-bg: var(--color-warning-text-dark);
  --list-group-active-border-color: var(--color-warning-text-dark);
}

.list-group-item-danger {
  --list-group-color: var(--color-danger-darker);
  --list-group-bg: var(--color-danger-light);
  --list-group-border-color: var(--color-danger-darker);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--color-danger-darker);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--color-danger-darker);
  --list-group-active-color: var(--color-danger-light);
  --list-group-active-bg: var(--color-danger-darker);
  --list-group-active-border-color: var(--color-danger-darker);
}

.list-group-item-light {
  --list-group-color: var(--color-gray-700);
  --list-group-bg: #fcfcfd;
  --list-group-border-color: var(--color-gray-200);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--color-gray-200);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--color-gray-200);
  --list-group-active-color: #fcfcfd;
  --list-group-active-bg: var(--color-gray-700);
  --list-group-active-border-color: var(--color-gray-700);
}

.list-group-item-dark {
  --list-group-color: var(--color-gray-700);
  --list-group-bg: var(--color-gray-400);
  --list-group-border-color: var(--color-gray-500);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--color-gray-500);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--color-gray-500);
  --list-group-active-color: var(--color-gray-400);
  --list-group-active-bg: var(--color-gray-700);
  --list-group-active-border-color: var(--color-gray-700);
}

.list-group-item-custody-yellow {
  --list-group-color: var(--custody-yellow-text-emphasis);
  --list-group-bg: var(--custody-yellow-bg-subtle);
  --list-group-border-color: var(--custody-yellow-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--custody-yellow-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--custody-yellow-border-subtle);
  --list-group-active-color: var(--custody-yellow-bg-subtle);
  --list-group-active-bg: var(--custody-yellow-text-emphasis);
  --list-group-active-border-color: var(--custody-yellow-text-emphasis);
}

.list-group-item-gray-800 {
  --list-group-color: var(--gray-800-text-emphasis);
  --list-group-bg: var(--gray-800-bg-subtle);
  --list-group-border-color: var(--gray-800-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--gray-800-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--gray-800-border-subtle);
  --list-group-active-color: var(--gray-800-bg-subtle);
  --list-group-active-bg: var(--gray-800-text-emphasis);
  --list-group-active-border-color: var(--gray-800-text-emphasis);
}

.list-group-item-issue {
  --list-group-color: var(--issue-text-emphasis);
  --list-group-bg: var(--issue-bg-subtle);
  --list-group-border-color: var(--issue-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--issue-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--issue-border-subtle);
  --list-group-active-color: var(--issue-bg-subtle);
  --list-group-active-bg: var(--issue-text-emphasis);
  --list-group-active-border-color: var(--issue-text-emphasis);
}

.list-group-item-complete {
  --list-group-color: var(--complete-text-emphasis);
  --list-group-bg: var(--complete-bg-subtle);
  --list-group-border-color: var(--complete-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--complete-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--complete-border-subtle);
  --list-group-active-color: var(--complete-bg-subtle);
  --list-group-active-bg: var(--complete-text-emphasis);
  --list-group-active-border-color: var(--complete-text-emphasis);
}

.list-group-item-awaiting-customer {
  --list-group-color: var(--awaiting-customer-text-emphasis);
  --list-group-bg: var(--awaiting-customer-bg-subtle);
  --list-group-border-color: var(--awaiting-customer-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--awaiting-customer-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--awaiting-customer-border-subtle);
  --list-group-active-color: var(--awaiting-customer-bg-subtle);
  --list-group-active-bg: var(--awaiting-customer-text-emphasis);
  --list-group-active-border-color: var(--awaiting-customer-text-emphasis);
}

.list-group-item-check {
  --list-group-color: var(--check-text-emphasis);
  --list-group-bg: var(--check-bg-subtle);
  --list-group-border-color: var(--check-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--check-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--check-border-subtle);
  --list-group-active-color: var(--check-bg-subtle);
  --list-group-active-bg: var(--check-text-emphasis);
  --list-group-active-border-color: var(--check-text-emphasis);
}

.list-group-item-tbc {
  --list-group-color: var(--tbc-text-emphasis);
  --list-group-bg: var(--tbc-bg-subtle);
  --list-group-border-color: var(--tbc-border-subtle);
  --list-group-action-hover-color: var(--color-emphasis);
  --list-group-action-hover-bg: var(--tbc-border-subtle);
  --list-group-action-active-color: var(--color-emphasis);
  --list-group-action-active-bg: var(--tbc-border-subtle);
  --list-group-active-color: var(--tbc-bg-subtle);
  --list-group-active-bg: var(--tbc-text-emphasis);
  --list-group-active-border-color: var(--tbc-text-emphasis);
}
  */

/* @media (max-width: 575.98px) {
  .table-responsive-sm {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 767.98px) {
  .table-responsive-md {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 991.98px) {
  .table-responsive-lg {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1199.98px) {
  .table-responsive-xl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 1399.98px) {
  .table-responsive-xxl {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
} */

/* .col-form-label {
  padding-top: calc(0.375rem + var(--border-width));
  padding-bottom: calc(0.375rem + var(--border-width));
  margin-bottom: 0;
  font-size: inherit;
  line-height: 1.5;
}

.col-form-label-lg {
  padding-top: calc(0.5rem + var(--border-width));
  padding-bottom: calc(0.5rem + var(--border-width));
  font-size: 1.25rem;
}

.col-form-label-sm {
  padding-top: calc(0.25rem + var(--border-width));
  padding-bottom: calc(0.25rem + var(--border-width));
  font-size: 0.875rem;
} */

/* .input-group > .form-control,
.input-group > .form-select,
.input-group > .form-floating {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
}

.input-group > .form-control:focus,
.input-group > .form-select:focus,
.input-group > .form-floating:focus-within {
  z-index: 5;
} */

/* .input-group .btn {
  position: relative;
  z-index: 2;
} */

/* .input-group .btn:focus {
  z-index: 5;
} */

/* .input-group-lg > .form-select,
.input-group-sm > .form-select {
  padding-right: 3rem;
} */

/* 
.form-floating > .form-control,
.form-floating > .form-control-plaintext,
.form-floating > .form-select {
  height: calc(3.5rem + calc(var(--border-width) * 2));
  min-height: calc(3.5rem + calc(var(--border-width) * 2));
  line-height: 1.25;
}

.form-floating > .form-control,
.form-floating > .form-control-plaintext {
  padding: 1rem 0.75rem;
}

.form-floating > .form-control::placeholder,
.form-floating > .form-control-plaintext::placeholder {
  color: transparent;
}

.form-floating > .form-control:focus, .form-floating > .form-control:not(:placeholder-shown),
.form-floating > .form-control-plaintext:focus,
.form-floating > .form-control-plaintext:not(:placeholder-shown) {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:-webkit-autofill,
.form-floating > .form-control-plaintext:-webkit-autofill {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-select {
  padding-top: 1.625rem;
  padding-bottom: 0.625rem;
}

.form-floating > .form-control:focus ~ label,
.form-floating > .form-control:not(:placeholder-shown) ~ label,
.form-floating > .form-control-plaintext ~ label,
.form-floating > .form-select ~ label {
  color: var(--color-form-placeholder);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control:focus ~ label::after,
.form-floating > .form-control:not(:placeholder-shown) ~ label::after,
.form-floating > .form-control-plaintext ~ label::after,
.form-floating > .form-select ~ label::after {
  position: absolute;
  inset: 1rem 0.375rem;
  z-index: -1;
  height: 1.5em;
  content: "";
  background-color: var(--body-bg);
  border-radius: var(--border-radius);
}

.form-floating > .form-control:-webkit-autofill ~ label {
  color: rgba(var(--body-color-rgb), 0.65);
  transform: scale(0.85) translateY(-0.5rem) translateX(0.15rem);
}

.form-floating > .form-control-plaintext ~ label {
  border-width: var(--border-width) 0;
} */

/* .input-group:not(.has-validation) > :not(:last-child):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group:not(.has-validation) > .dropdown-toggle:nth-last-child(n+3),
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-control,
.input-group:not(.has-validation) > .form-floating:not(:last-child) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
} */

/* .input-group.has-validation > :nth-last-child(n+3):not(.dropdown-toggle):not(.dropdown-menu):not(.form-floating),
.input-group.has-validation > .dropdown-toggle:nth-last-child(n+4),
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-control,
.input-group.has-validation > .form-floating:nth-last-child(n+3) > .form-select {
  border-top-right-radius: 0;
  border-bottom-right-radius: 0;
} */

/* .input-group > .form-floating:not(:first-child) > .form-control,
.input-group > .form-floating:not(:first-child) > .form-select {
  border-top-left-radius: 0;
  border-bottom-left-radius: 0;
} */

/* .nav-fill > .nav-link,
.nav-fill .nav-item {
  flex: 1 1 auto;
  text-align: center;
}

.nav-justified > .nav-link,
.nav-justified .nav-item {
  flex-basis: 0;
  flex-grow: 1;
  text-align: center;
}

.nav-fill .nav-item .nav-link,
.nav-justified .nav-item .nav-link {
  width: 100%;
} */

/* @media (min-width: 992px) {
  .navbar-expand-lg {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-lg .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-lg .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-lg .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-lg .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-lg .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-lg .navbar-toggler {
    display: none;
  }
  .navbar-expand-lg .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-lg .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
} */

/* @media (min-width: 1200px) {
  .navbar-expand-xl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xl .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-xl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
} */

/* @media (min-width: 1400px) {
  .navbar-expand-xxl {
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
  .navbar-expand-xxl .navbar-nav {
    flex-direction: row;
  }
  .navbar-expand-xxl .navbar-nav .dropdown-menu {
    position: absolute;
  }
  .navbar-expand-xxl .navbar-nav .nav-link {
    padding-right: var(--navbar-nav-link-padding-x);
    padding-left: var(--navbar-nav-link-padding-x);
  }
  .navbar-expand-xxl .navbar-nav-scroll {
    overflow: visible;
  }
  .navbar-expand-xxl .navbar-collapse {
    display: flex !important;
    flex-basis: auto;
  }
  .navbar-expand-xxl .navbar-toggler {
    display: none;
  }
  .navbar-expand-xxl .offcanvas {
    position: static;
    z-index: auto;
    flex-grow: 1;
    width: auto !important;
    height: auto !important;
    visibility: visible !important;
    background-color: transparent !important;
    border: 0 !important;
    transform: none !important;
    transition: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-header {
    display: none;
  }
  .navbar-expand-xxl .offcanvas .offcanvas-body {
    display: flex;
    flex-grow: 0;
    padding: 0;
    overflow-y: visible;
  }
} */

/* .list-group li:first-of-type {
  border-top-left-radius: inherit;  
  border-top-right-radius: inherit;
} */

/* 
.list-group-item + .list-group-item {
  border-top-width: 0;
}

.list-group-item + .list-group-item.active {
  margin-top: calc(-1 * var(--list-group-border-width));
  border-top-width: var(--list-group-border-width);
}

.list-group-horizontal {
  flex-direction: row;
}

.list-group-horizontal > .list-group-item:first-child:not(:last-child) {
  border-bottom-left-radius: var(--list-group-border-radius);
  border-top-right-radius: 0;
}

.list-group-horizontal > .list-group-item:last-child:not(:first-child) {
  border-top-right-radius: var(--list-group-border-radius);
  border-bottom-left-radius: 0;
}

/* .row > .col > .row {
  margin: 0;
  --gutter-x: 0;
} */

/* .col-span-2 {
  grid-column: span 2/span 2;
}

.col-span-full {
  grid-column: 1/-1;
} */

/* .table td.tbc, table.dataTable td.tbc {
  color: var(--color-white);
} */

/* .cards-notes .col {
  border: black solid 1px;
  border-top: var(--custody-yellow) solid 2px;
} */

/* .contact-card .col {
  flex: unset;
} */

/* .grid-responsive {
  grid-template-columns: repeat(auto-fit, minmax(min(30rem, 100%), 1fr));
} */

/* =====================================================
   ENCRYPTION DIALOGS (Feature 002)
   Native HTML <dialog> element styling
   ===================================================== */

dialog.encryption-dialog {
  border: none;
  border-radius: 8px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1), 0 1px 3px rgba(0, 0, 0, 0.08);
  padding: 0;
  width: 90%;
  height: 90%;
}

dialog.encryption-dialog::backdrop {
  background-color: rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(2px);
}

dialog.encryption-dialog .dialog-header {
  padding: 1.5rem;
  border-bottom: 1px solid #dee2e6;
  display: flex;
  justify-content: space-between;
  align-items: center;
  background-color: #f8f9fa;
}

/* dialog.encryption-dialog .dialog-header h3 {
  margin: 0;
  font-size: 1.25rem;
  font-weight: 600;
  color: #212529;
} */

dialog.encryption-dialog .dialog-footer {
  position:absolute;
  bottom:0;
  width:100%;
  padding: 1rem 1.5rem;
  border-top: 1px solid #dee2e6;
  display: flex;
  justify-content: flex-end;
  gap: 0.5rem;
  background-color: #f8f9fa;
}

dialog.encryption-dialog .dialog-close {
  background: none;
  border: none;
  font-size: 1.5rem;
  line-height: 1;
  color: #6c757d;
  cursor: pointer;
  padding: 0;
  width: 1.5rem;
  height: 1.5rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

dialog.encryption-dialog .dialog-close:hover {
  color: #000;
}

dialog.encryption-dialog .dialog-body {
  padding: 1.5rem;
  overflow-y: auto;
}


dialog.encryption-dialog .form-control-plaintext {
  padding-left: 0;
  padding-right: 0;
  border: 0;
  background-color: transparent;
}

dialog.encryption-dialog pre {
  font-family: monospace;
  margin: 0;
  white-space: pre-wrap;
  word-wrap: break-word;
}

/* Ensure buttons in secrets table are properly styled */
.show-secret-data,
.edit-secret {
  cursor: pointer;
  white-space: nowrap;
}

.row_data:has(.show-secret-data, .edit-secret){
  text-align:center;
}

.show-secret-data:hover,
.edit-secret:hover {
  opacity: 0.8;
}

/* Responsive dialog sizing */
@media (max-width: 768px) {
  dialog.encryption-dialog {
    max-width: 95%;
    width: 95%;
  }

  dialog.encryption-dialog .dialog-body {
    max-height: 50vh;
  }
}

/* ============================================================================
   CUSTODIA 2026 — RESKIN OVERRIDES
   Cascade-only refinements layered on top of the inherited 2025 ruleset.
   Goals: typography-driven minimalism, serif page titles, gold accent on a
   near-white surface. Keep every existing selector working — only re-paint.
   ============================================================================ */

:root {
  /* Surface system — softer than Bootstrap's flat #fff */
  --surface-1: #fafafa;       /* page background */
  --surface-2: #ffffff;       /* cards, panels, sidebar */
  --surface-3: #f5f5f5;       /* subtle hover / striping */
  --hairline: #eeeeee;        /* dividers */
  --ink: #1a1a1a;             /* headings */
  --ink-soft: #333333;        /* body */
  --ink-muted: #6b6b6b;       /* secondary text */
  --accent: var(--custody-yellow);
  --accent-soft: rgba(251, 208, 104, 0.18);
}

/* --- Body refinement -------------------------------------------------- */
html {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body {
  font-feature-settings: "cv11", "ss01", "ss03";
  letter-spacing: -0.005em;
  background-color: var(--surface-1);
}

/* --- Typography: serif page titles only ------------------------------- */
/* Per design: only h1 / .h1 / .page-title gets the Georgia treatment.
   Sub-headings stay in Inter so dense data screens don't feel literary. */
h1,
.h1,
.page-title,
.page-header h1 {
  font-family: var(--font-serif);
  font-weight: 400;
  letter-spacing: -0.01em;
  color: var(--ink);
  line-height: 1.2;
}

h2, .h2,
h3, .h3,
h4, .h4,
h5, .h5,
h6, .h6 {
  font-family: var(--font-sans-serif);
  font-weight: 600;
  color: var(--ink);
  letter-spacing: -0.005em;
}

/* --- Links: underline-on-hover, gold on hover ------------------------- */
a {
  text-decoration: none;
  transition: color 0.2s ease;
}
a:hover {
  color: var(--accent);
}

/* --- Cards / panels / sidebar: white on grey, hairline borders -------- */
.card,
.panel,
.widget,
.sidebar,
.modal-content,
.dropdown-menu,
.list-group {
  background-color: var(--surface-2);
  border: 1px solid var(--hairline);
  box-shadow: none;
  border-radius: 6px;
}

hr,
.divider {
  border-top-color: var(--hairline);
  opacity: 1;
}

/* --- Buttons: primary = gold on ink, secondary = ghost ---------------- */
.btn-primary,
.btn.btn-primary {
  --btn-color: #1a1a1a;
  --btn-bg: var(--custody-yellow);
  --btn-border-color: var(--custody-yellow);
  --btn-hover-color: #1a1a1a;
  --btn-hover-bg: #f4c14a;
  --btn-hover-border-color: #f4c14a;
  --btn-active-bg: #e8b333;
  --btn-active-border-color: #e8b333;
  font-weight: 600;
  letter-spacing: 0.01em;
}

.btn-secondary,
.btn.btn-secondary {
  --btn-color: #292828;
  --btn-bg: transparent;
  --btn-border-color: #cccccc;
  --btn-hover-color: #1a1a1a;
  --btn-hover-bg: #f5f5f5;
  --btn-hover-border-color: #999999;
  font-weight: 500;
}

.btn {
  border-radius: 4px;
  text-transform: none;
  transition: background-color 0.2s ease, border-color 0.2s ease,
    color 0.2s ease;
}

/* --- Forms: minimal, generous, gold focus ----------------------------- */
.form-control,
.form-select,
input[type="text"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="url"],
input[type="date"],
textarea,
select {
  background-color: var(--surface-2);
  border: 1px solid var(--hairline);
  border-radius: 4px;
  color: var(--ink-soft);
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.form-control:focus,
.form-select:focus,
input:focus,
textarea:focus,
select:focus {
  border-color: var(--accent);
  box-shadow: 0 0 0 3px var(--accent-soft);
  outline: none;
}

label,
.form-label {
  font-weight: 500;
  color: var(--ink);
  letter-spacing: 0.01em;
}

/* --- Tables: airy, hairline rows -------------------------------------- */
.table,
table.dataTable {
  --bs-table-bg: var(--surface-2);
  --bs-table-border-color: var(--hairline);
  border-color: var(--hairline);
}

.table > :not(caption) > * > *,
table.dataTable > tbody > tr > td,
table.dataTable > thead > tr > th {
  border-bottom-color: var(--hairline);
  padding: 0.4rem 0.75rem;
}

.table thead th,
table.dataTable thead th {
  font-family: var(--font-sans-serif);
  font-weight: 600;
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--ink-muted);
  background: transparent;
  border-bottom: 1px solid var(--hairline);
}

.table-striped > tbody > tr:nth-of-type(odd) > * {
  background-color: var(--surface-3);
}

.table-hover > tbody > tr:hover > * {
  background-color: var(--accent-soft);
}

/* --- Navigation: active item carries a gold marker -------------------- */
.nav-link,
.sidebar a,
.navbar-nav .nav-link {
  color: var(--ink-soft);
  font-weight: 500;
  border-left: 2px solid transparent;
  transition: color 0.2s ease, border-color 0.2s ease,
    background-color 0.2s ease;
}

.nav-link:hover,
.sidebar a:hover {
  color: var(--ink);
  background-color: var(--surface-3);
}

.nav-link.active,
.sidebar a.active,
.navbar-nav .nav-link.active {
  color: var(--ink);
  border-left-color: var(--accent);
  background-color: var(--accent-soft);
}

/* --- Badges & pills --------------------------------------------------- */
.badge {
  font-family: var(--font-sans-serif);
  font-weight: 600;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  border-radius: 3px;
  padding: 0.35em 0.6em;
}

.badge.bg-warning,
.badge.badge-warning {
  background-color: var(--accent) !important;
  color: var(--ink) !important;
}

/* --- Alerts: hairline, no chrome -------------------------------------- */
.alert {
  border-radius: 4px;
  border: 1px solid var(--hairline);
  background-color: var(--surface-2);
  color: var(--ink-soft);
}

/* --- Pagination & list-group active state in gold --------------------- */
.page-item.active .page-link,
.pagination .active a {
  background-color: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}

.list-group-item.active {
  background-color: var(--accent);
  border-color: var(--accent);
  color: var(--ink);
}

/* --- Focus ring: gold across the board -------------------------------- */
:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
}

/* --- Selection ---------------------------------------------------------*/
::selection {
  background: var(--accent);
  color: var(--ink);
}

/* --- Scrollbar (webkit) ----------------------------------------------- */
::-webkit-scrollbar {
  width: 10px;
  height: 10px;
}
::-webkit-scrollbar-track {
  background: var(--surface-1);
}
::-webkit-scrollbar-thumb {
  background: #d8d8d8;
  border-radius: 5px;
}
::-webkit-scrollbar-thumb:hover {
  background: #b8b8b8;
}

/* ============================================================================
   CUSTODIA 2026 — DASHBOARD SOFTENING PASS
   - kill the yellow navbar / yellow card tops / hard black borders
   - adopt the paper colour throughout chrome surfaces
   - round corners and use hairline borders everywhere
   ============================================================================ */

/* --- Navbar: paper bg, hairline divider, no yellow ------------------- */
.navbar {
  background: var(--surface-1) !important;
  border-bottom: 1px solid var(--hairline);
  box-shadow: none;
}

.navbar-brand,
.navbar .nav-link {
  color: var(--ink) !important;
}
.navbar .nav-link:hover {
  color: var(--accent) !important;
}

/* The right-side toggle button was also gold; calm it down */
.sidebar-end-toggle-btn {
  --btn-bg: transparent;
  --btn-border-color: var(--hairline);
  --btn-color: var(--ink);
  --btn-hover-bg: var(--surface-3);
  --btn-hover-border-color: #d8d8d8;
  --btn-hover-color: var(--ink);
  border-radius: 6px;
}

/* --- Panels / cards: drop yellow top, round corners, hairline border - */
.panel,
.card,
.dashboard .panel,
.page-cards .panel,
.page-cards .card {
  border: 1px solid var(--hairline) !important;
  border-top: 1px solid var(--hairline) !important;
  border-radius: 8px !important;
  background-color: var(--surface-2);
  box-shadow: 0 1px 2px rgba(26, 26, 26, 0.03);
  overflow: hidden;
}

/* Subtle lift on hover for actionable dashboard cards */
.page-cards .panel:hover,
.page-cards .card:hover,
.dashboard a.details-card:hover .panel {
  border-color: #e2e2e2 !important;
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.05);
}

/* --- Dashboard <details> cards: kill the hard black border ----------- */
.page-cards details,
.page-cards details:not(:has(.truncated)) {
  border: 1px solid var(--hairline) !important;
  border-radius: 8px;
  background-color: var(--surface-2);
  padding: 0.75rem 1rem 0.5rem;
  transition: border-color 0.2s ease, box-shadow 0.2s ease;
}

.page-cards details[open] {
  border-color: #e2e2e2 !important;
  box-shadow: 0 2px 8px rgba(26, 26, 26, 0.04);
}

.page-cards details > summary {
  cursor: pointer;
  font-weight: 600;
  color: var(--ink);
  list-style: none;
  padding: 0.25rem 0;
}
.page-cards details > summary::-webkit-details-marker { display: none; }

/* --- Section markers: drop the gold rule ----------------------------- */
.section-marker,
.section.key-info {
  border-top: 1px solid var(--hairline) !important;
}

.section.key-info {
  background-color: var(--surface-2);
  border: 1px solid var(--hairline) !important;
  border-radius: 8px;
  padding: 0.75rem 1rem;
}

/* --- Dashboard page surface: paper, with breathing room -------------- */
.page-cards,
.dashboard,
main {
  background-color: var(--surface-1);
}

.page-cards .draggable {
  background-color: transparent;
}

/* --- Modal chrome: drop the gold top shadow / border ----------------- */
.custom-modal {
  box-shadow: 0 10px 40px rgba(26, 26, 26, 0.12) !important;
}
.custom-modal .modal-content,
dialog.dialog,
dialog.password-dialog {
  border: 1px solid var(--hairline);
  border-radius: 10px;
}

/* --- Pagination/list-group active: keep gold but soften corners ----- */
.pagination .page-link,
.list-group-item {
  border-color: var(--hairline);
}
.pagination .page-item:first-child .page-link { border-top-left-radius: 6px; border-bottom-left-radius: 6px; }
.pagination .page-item:last-child  .page-link { border-top-right-radius: 6px; border-bottom-right-radius: 6px; }

/* --- Generic safety net: any leftover hard black borders ------------- */
[style*="border: 1px solid #000"],
[style*="border:#000"] {
  border-color: var(--hairline) !important;
}

/* ============================================================================
   CUSTODIA 2026 — TOP NAV LINKS
   Plain text links in the navbar with a fat gold underline on hover/active.
   Mirrors the 3px underline the public website uses on prominent links.
   Only scoped to .navbar — sidebar nav treatment is unchanged.
   ============================================================================ */

.navbar .nav-link,
.navbar-nav .nav-link,
.navbar a.nav-link {
  background: transparent !important;
  background-color: transparent !important;
  border: 0 !important;
  border-left: 0 !important;
  border-radius: 0 !important;
  padding: 0.5rem 0.9rem;
  margin: 0 0.15rem;
  color: var(--ink) !important;
  font-weight: 500;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: box-shadow 0.15s ease, color 0.15s ease;
}

.navbar .nav-link:hover,
.navbar-nav .nav-link:hover,
.navbar a.nav-link:hover {
  background: transparent !important;
  color: var(--ink) !important;
  box-shadow: inset 0 -3px 0 var(--accent) !important;
  text-decoration: none !important;
}

.navbar .nav-link.active,
.navbar-nav .nav-link.active,
.navbar a.nav-link.active {
  background: transparent !important;
  color: var(--ink) !important;
  font-weight: 600;
  box-shadow: inset 0 -3px 0 var(--accent) !important;
}

.navbar .nav-link:focus-visible {
  outline: 2px solid var(--accent);
  outline-offset: 2px;
  box-shadow: none !important;
}

/* ============================================================================
   CUSTODIA 2026 — MAIN CONTENT CONTAINER
   Give the central content area a contained "sheet of paper" feel: hairline
   light-grey border, 8px radius, white surface on the paper body bg.
   ============================================================================ */

.main-wrapper {
  padding: 0.25rem 0.5rem 1rem 0.25rem;
}

.main-wrapper > main,
main > .layout-default {
  background-color: var(--surface-2);
  border: 1px solid var(--hairline);
  border-radius: 8px;
  padding: 1.5rem 1.75rem;
  box-shadow: 0 1px 2px rgba(26, 26, 26, 0.03);
}

/* If both wrap + inner fire, strip the inner chrome so we don't double up */
.main-wrapper > main > .layout-default {
  background-color: transparent;
  border: 0;
  border-radius: 0;
  padding: 0;
  box-shadow: none;
}

@media (max-width: 768px) {
  .main-wrapper {
    padding: 0.75rem;
  }
  .main-wrapper > main,
  main > .layout-default {
    padding: 1rem;
    border-radius: 6px;
  }
}

/* ============================================================================
   CUSTODIA 2026 — KILL DOUBLE BORDERS IN DASHBOARD CARDS
   When a bordered container wraps another bordered container we get a
   double rule. Strip the inner chrome in all the nesting combinations the
   dashboard actually uses.
   ============================================================================ */

.page-cards .section.key-info .panel,
.page-cards .section.key-info .card,
.page-cards .section.key-info details,
.page-cards .section.key-info .section,
.page-cards .panel .section,
.page-cards .panel .section.key-info,
.page-cards .panel details,
.page-cards .panel .panel,
.page-cards .panel .card,
.page-cards .card .section,
.page-cards .card .section.key-info,
.page-cards .card details,
.page-cards .card .panel,
.page-cards .card .card,
.page-cards details .section,
.page-cards details .panel,
.page-cards details .card,
.page-cards .draggable .draggable {
  border: 0 !important;
  border-top: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  background-color: transparent !important;
  padding: 0 !important;
}

/* ============================================================================
   CUSTODIA 2026 — CUSTOMER DETAIL PAGE LAYOUT FIXES
   The 2026 main-wrapper padding reduces the available grid width enough that
   the `auto` second column (Notes + Requirements) can overflow the viewport
   and be hidden by overflow-x:hidden on body. Replace `auto` with `1fr` so
   both columns share remaining space equally; DataTables responsive handles
   the narrower container by hiding columns as needed.
   ============================================================================ */

.layout-33-66 .content {
  grid-template-columns: minmax(250px, 1fr) minmax(300px, 3fr);
}

/* ============================================================================
   CUSTODIA 2026 — CUSTOMER DETAIL PANELS: CONTENT INDENTATION & LABEL STYLING
   The drag icon (::before, absolute) sits at the panel top-left; only the
   <summary> heading gets margin-inline-start to clear it. Add vertical
   breathing room between heading and body content, then style the Grid
   block .text/.label rows so labels are left-aligned with a fixed min-width
   and values flow to the right — giving the "indented to the right" look.
   ============================================================================ */

/* Vertical gap between heading and body content in draggable sections */
.drag-and-drop-container .draggable details > :not(summary) {
  padding-block-start: 0.5rem;
}

/* Customer info panel: each label/value row as a flex row */
.section.customer-details .text {
  display: flex;
  align-items: baseline;
  gap: 0.75rem;
  padding-block: 0.25rem;
  border-bottom: 1px solid var(--hairline);
  font-size: 0.875rem;
}

.section.customer-details .text:last-child {
  border-bottom: none;
}

/* Label: semi-bold, muted, fixed left column so value sits to the right */
.section.customer-details .label {
  font-weight: 600;
  color: var(--ink-muted);
  min-width: 9rem;
  flex-shrink: 0;
  font-size: 0.8125rem;
  white-space: nowrap;
}

/* Customer logo block: centred, with top spacing */
.section.customer-details .image.customer-logo {
  padding-block-start: 0.75rem;
  text-align: center;
}

/* Contacts panel: style each row in the contact-details Grid block */
.section.contacts .contact-details > div {
  display: flex;
  align-items: baseline;
  gap: 0.5rem;
  padding-block: 0.2rem;
  border-bottom: 1px solid var(--hairline);
  font-size: 0.875rem;
}

.section.contacts .contact-details > div:last-child {
  border-bottom: none;
}

.section.contacts .contact-details .label {
  font-weight: 500;
  color: var(--ink-muted);
  font-size: 0.8125rem;
  flex-shrink: 0;
  min-width: 3rem;
}

/* ============================================================================
   CUSTODIA 2026 — REQUIREMENT STATUS CELLS (readability fix)
   Earlier 2026 overrides added higher-specificity .table-striped and
   .table-hover rules that were wiping out the saturated status bg on odd
   rows and on hover, leaving white text on a near-white surface. Restore
   the cells with enough weight that striping/hover cannot override them,
   and soften the original OKLCH colours to fit the 2026 palette.
   ============================================================================ */

:root {
  /* Calmer, more "paper" friendly status tones */
  --status-issue-bg:      #c0392b;   /* red */
  --status-complete-bg:   #2e7d56;   /* green */
  --status-awaiting-bg:   #d99a1a;   /* amber */
  --status-check-bg:      #c86a1a;   /* orange */
  --status-tbc-bg:        #3f6ea8;   /* blue */
  --status-text:          #ffffff;
}

.table td.issue,
.table td.complete,
.table td.tbc,
.table td.check,
.table td.awaiting-customer,
table.dataTable td.issue,
table.dataTable td.complete,
table.dataTable td.tbc,
table.dataTable td.check,
table.dataTable td.awaiting-customer,
.table-striped > tbody > tr:nth-of-type(odd) > td.issue,
.table-striped > tbody > tr:nth-of-type(odd) > td.complete,
.table-striped > tbody > tr:nth-of-type(odd) > td.tbc,
.table-striped > tbody > tr:nth-of-type(odd) > td.check,
.table-striped > tbody > tr:nth-of-type(odd) > td.awaiting-customer,
.table-hover > tbody > tr:hover > td.issue,
.table-hover > tbody > tr:hover > td.complete,
.table-hover > tbody > tr:hover > td.tbc,
.table-hover > tbody > tr:hover > td.check,
.table-hover > tbody > tr:hover > td.awaiting-customer {
  color: var(--status-text) !important;
  font-weight: 500;
  text-align: center;
}

.table td.issue,
table.dataTable td.issue,
.table-striped > tbody > tr:nth-of-type(odd) > td.issue,
.table-hover > tbody > tr:hover > td.issue {
  background-color: var(--status-issue-bg) !important;
}

.table td.complete,
table.dataTable td.complete,
.table-striped > tbody > tr:nth-of-type(odd) > td.complete,
.table-hover > tbody > tr:hover > td.complete {
  background-color: var(--status-complete-bg) !important;
}

.table td.tbc,
table.dataTable td.tbc,
.table-striped > tbody > tr:nth-of-type(odd) > td.tbc,
.table-hover > tbody > tr:hover > td.tbc {
  background-color: var(--status-tbc-bg) !important;
}

.table td.check,
table.dataTable td.check,
.table-striped > tbody > tr:nth-of-type(odd) > td.check,
.table-hover > tbody > tr:hover > td.check {
  background-color: var(--status-check-bg) !important;
}

.table td.awaiting-customer,
table.dataTable td.awaiting-customer,
.table-striped > tbody > tr:nth-of-type(odd) > td.awaiting-customer,
.table-hover > tbody > tr:hover > td.awaiting-customer {
  background-color: var(--status-awaiting-bg) !important;
}

/* N/A cells stay neutral — readable on both paper and accent hover */
.table td.na,
table.dataTable td.na,
.table-striped > tbody > tr:nth-of-type(odd) > td.na,
.table-hover > tbody > tr:hover > td.na {
  background-color: transparent !important;
  color: var(--ink-muted) !important;
}

/* ============================================================
   Bootstrap-style tabs (.nav-tabs / .tab-content)
   Bootstrap's JS toggles .active and .show on click; these are
   the show/hide and visual rules that make that toggling work.
   ============================================================ */
.tab-content > .tab-pane { display: none; }
.tab-content > .tab-pane.active { display: block; }

.nav-tabs {
  border-bottom: 1px solid #dee2e6;
  display: flex;
  gap: 0;
  padding-left: 0;
  list-style: none;
  margin-block-end: 0;
}
.nav-tabs .nav-item { margin-bottom: -1px; }
.nav-tabs .nav-link {
  background: transparent;
  border: 1px solid transparent;
  border-top-left-radius: 6px;
  border-top-right-radius: 6px;
  padding: 0.5rem 1rem;
  cursor: pointer;
}
.nav-tabs .nav-link:hover { border-color: #e9ecef #e9ecef #dee2e6; }
.nav-tabs .nav-link.active {
  color: #495057;
  background-color: #fff;
  border-color: #dee2e6 #dee2e6 #fff;
}

/* ============================================================
   Ghost-style .btn-secondary: the existing rule sets a 1px
   border-color (#cccccc) but doesn't override --btn-border-width
   (default 0 from .btn), so the border was invisible. Setting it
   here makes the button actually look like a button.
   ============================================================ */
.btn-secondary,
.btn.btn-secondary {
  --btn-border-width: 1px;
}

/* Spacing between adjacent action buttons / status text */
.form-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75em;
  margin-block: 0.75em;
}


/* ============================================================
   Per-field autosave indicator (text + dot).

   Forms inside /admin add data-field-status="saving|saved|error"
   to each field's wrapper (.input-group / .form-check). The CSS
   places a coloured "● Saving… / ● Saved / ● Error" label using
   ::after, positioned to match how the field itself is laid out:

     - width-constrained inputs (number, password, select, date,
       datetime) sit in a 3-column grid (auto / Nch / 1fr) — the
       indicator drops into column 3 on the SAME row, so it sits
       directly to the right of the input.
     - text/email/file/url inputs and textareas span a wider track —
       the indicator drops onto a new row below the input.
     - .form-check (checkboxes) shows the indicator inline next
       to the label.
   ============================================================ */
.input-group[data-field-status]::after {
  content: '● ' attr(data-field-status);
  font-size: 0.85em;
  line-height: 1.2;
  margin: 0;
  align-self: center;
  pointer-events: none;
  /* default — text/email/file/url/textarea: drops to a new row,
     positioned under the input not under the label */
  grid-column: 2;
}

/* Width-constrained inputs: indicator goes in the 3rd column on
   the SAME row (right of the input). */
.input-group:has(> input[type='date'])[data-field-status]::after,
.input-group:has(> input[type='datetime-local'])[data-field-status]::after,
.input-group:has(> input[type='number'])[data-field-status]::after,
.input-group:has(> input[type='password'])[data-field-status]::after,
.input-group:has(> select)[data-field-status]::after {
  grid-column: 3;
  justify-self: start;
}

/* Textareas span the full row (1-column grid in the theme); the
   indicator goes underneath, full width. */
.input-group:has(textarea)[data-field-status]::after {
  grid-column: 1 / -1;
}

/* Form-check (checkbox) sits inline. */
.form-check[data-field-status]::after {
  content: '● ' attr(data-field-status);
  font-size: 0.85em;
  margin-left: 0.75em;
  pointer-events: none;
}

/* Per-state colours + text. The amber state pulses to signal
   "in flight"; saved/error are static. */
.input-group[data-field-status="saving"]::after,
.form-check[data-field-status="saving"]::after {
  content: '● Saving…';
  color: #f59e0b;
  animation: ink-field-pulse 1s ease-in-out infinite;
}
.input-group[data-field-status="saved"]::after,
.form-check[data-field-status="saved"]::after {
  content: '● Saved';
  color: #22c55e;
}
.input-group[data-field-status="error"]::after,
.form-check[data-field-status="error"]::after {
  content: '● Error';
  color: #ef4444;
}

@keyframes ink-field-pulse {
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.55; }
}

/* ============================================================
   Ink admin custom-agent rows. Each agent renders as a card so
   the boundary between agents is obvious — without this they
   just look like a stack of identical input-groups.
   ============================================================ */
.ink-agent-row {
  border: 1px solid var(--hairline, #d8d8d8);
  border-radius: 8px;
  padding: 1rem 1.25rem;
  margin-block-end: 1rem;
  background: var(--surface-2, #fafafa);
}
.ink-agent-card-header {
  font-weight: 600;
  font-size: 0.78rem;
  color: #888;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  margin-block-end: 0.75rem;
}

/* OLDEST ISSUES FILTER BUTTONS */
#oldest-issues-filters {
  display: flex;
  gap: 0.4rem;
  flex-wrap: wrap;
  padding: 0 0.75rem;
}

/* Inactive: neutral outline */
#oldest-issues-filters .btn {
  background-color: transparent !important;
  border: 2px solid var(--border-color) !important;
  color: var(--secondary-color) !important;
  box-shadow: none !important;
}

/* Active: solid fill using theme body colour */
#oldest-issues-filters .btn.active {
  background-color: var(--body-color) !important;
  border-color: var(--body-color) !important;
  color: var(--body-bg) !important;
}
