/*
 * JLR DDM selectable interface themes
 * Build: jlr-theme-v5.7.4-vehicle-ux-recipients-profile-20260817
 * -----------------------------------
 * Light and Graphite now also restyle the shared navigation without changing
 * its menu structure or role-based visibility.
 */

body.jlr-theme {
  transition:
    background-color 180ms ease,
    color 180ms ease;
}

body.jlr-theme-light {
  --app-module-heading: #6e7d74;
  --app-module-line: rgba(35, 65, 51, .12);
  --app-module-surface: rgba(37, 143, 36, .035);
  --app-module-accent: #258f24;
  min-height: 100vh;
  background-color: #dce6df !important;
  background-image:
    radial-gradient(
      ellipse at 8% 5%,
      rgba(40, 139, 75, .25),
      transparent 34%
    ),
    radial-gradient(
      ellipse at 95% 84%,
      rgba(55, 111, 82, .2),
      transparent 38%
    ),
    radial-gradient(
      circle at 71% 4%,
      rgba(255, 255, 255, .82),
      transparent 26%
    ),
    linear-gradient(
      132deg,
      transparent 0 32%,
      rgba(255, 255, 255, .76) 32.12%,
      rgba(255, 255, 255, .24) 34.28%,
      transparent 34.58% 63%,
      rgba(36, 112, 67, .095) 63.12%,
      rgba(255, 255, 255, .34) 63.38%,
      transparent 63.7%
    ),
    linear-gradient(
      22deg,
      transparent 0 72%,
      rgba(37, 104, 66, .055) 72.12%,
      rgba(255, 255, 255, .26) 73.05%,
      transparent 73.28%
    ),
    repeating-linear-gradient(
      118deg,
      rgba(35, 64, 49, .018) 0,
      rgba(35, 64, 49, .018) 1px,
      transparent 1px,
      transparent 22px
    ),
    linear-gradient(
      135deg,
      #dce8e0 0%,
      #f8f4eb 48%,
      #d7e5dc 100%
    ) !important;
  background-attachment: fixed !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color-scheme: light;
}

body.jlr-theme-graphite {
  --app-module-heading: #aab4ad;
  --app-module-line: rgba(207, 216, 210, .13);
  --app-module-surface: rgba(255, 255, 255, .026);
  --app-module-accent: #8fd1a5;
  --jlr-green: #4fa36d;
  --jlr-green-dark: #78c291;
  --jlr-green-soft: rgba(45, 122, 80, .19);
  --jlr-ink: #f2f0e9;
  --jlr-muted: #a9b0ab;
  --jlr-line: rgba(198, 207, 201, .13);
  --jlr-line-strong: rgba(214, 221, 216, .21);
  --jlr-surface: rgba(43, 48, 45, .87);
  --jlr-surface-strong: #303531;
  --jlr-danger: #e57979;
  --jlr-danger-dark: #f19a9a;
  --jlr-danger-soft: rgba(165, 62, 62, .17);
  --jlr-blue: #82b8d0;
  --jlr-blue-soft: rgba(59, 120, 148, .18);
  --jlr-warning: #ddb86d;
  --jlr-warning-soft: rgba(155, 109, 32, .18);
  --jlr-shadow: 0 25px 66px rgba(0, 0, 0, .32);
  --jlr-control-shadow: 0 10px 25px rgba(0, 0, 0, .22);
  --jlr-text-primary: #f2f4f2;
  --jlr-text-secondary: #c4cbc6;
  --jlr-text-muted: #aab4ad;
  --jlr-accent-readable: #a5ddb8;
  --jlr-accent-strong: #bee9cc;
  --jlr-panel: rgba(38, 44, 40, .9);
  --jlr-panel-strong: #303632;
  min-height: 100vh;
  background-color: #090e0b !important;
  background-image:
    radial-gradient(
      ellipse at 87% 3%,
      rgba(50, 171, 89, .34),
      transparent 31%
    ),
    radial-gradient(
      ellipse at 7% 91%,
      rgba(77, 113, 94, .28),
      transparent 37%
    ),
    radial-gradient(
      circle at 58% 53%,
      rgba(92, 132, 109, .11),
      transparent 35%
    ),
    linear-gradient(
      142deg,
      transparent 0 29%,
      rgba(125, 207, 152, .115) 29.12%,
      rgba(255, 255, 255, .038) 31.38%,
      transparent 31.7% 67%,
      rgba(147, 220, 171, .058) 67.12%,
      rgba(255, 255, 255, .022) 68%,
      transparent 68.3%
    ),
    linear-gradient(
      to bottom,
      transparent 0 52%,
      rgba(0, 0, 0, .38) 100%
    ),
    repeating-linear-gradient(
      118deg,
      rgba(255, 255, 255, .014) 0,
      rgba(255, 255, 255, .014) 1px,
      transparent 1px,
      transparent 22px
    ),
    linear-gradient(
      135deg,
      #080c0a 0%,
      #252d28 52%,
      #09100c 100%
    ) !important;
  background-attachment: fixed !important;
  background-position: center !important;
  background-repeat: no-repeat !important;
  background-size: cover !important;
  color: var(--jlr-ink);
  color-scheme: dark;
}

/* Fixed backgrounds are expensive and unreliable on smaller touch devices. */
@media (max-width: 768px) {
  body.jlr-theme-light,
  body.jlr-theme-graphite {
    background-attachment: scroll !important;
  }
}

/*
 * Theme-aware navigation
 * ----------------------
 * The markup, menu order and controls stay identical in both themes. Only
 * the material, colour and interaction treatment changes with the body class.
 */
body.jlr-theme .app-navbar,
body.jlr-theme .app-logo-frame,
body.jlr-theme .app-navbar .app-main-menu > .nav-item > .nav-link,
body.jlr-theme .app-navbar .dropdown-menu,
body.jlr-theme .app-navbar .dropdown-item,
body.jlr-theme .app-tool-button,
body.jlr-theme .app-user-button,
body.jlr-theme .app-user-avatar {
  transition:
    background-color 180ms ease,
    background-image 180ms ease,
    border-color 180ms ease,
    box-shadow 180ms ease,
    color 180ms ease,
    transform 160ms ease;
}

/* Light: warm ivory glass with graphite typography and JLR green accents. */
body.jlr-theme-light .app-navbar {
  background:
    radial-gradient(
      circle at 91% -68%,
      rgba(37, 143, 36, .16),
      transparent 37%
    ),
    linear-gradient(
      118deg,
      rgba(252, 253, 250, .965),
      rgba(239, 245, 240, .93)
    );
  border-bottom-color: rgba(35, 65, 51, .14);
  box-shadow:
    0 13px 38px rgba(27, 56, 43, .14),
    inset 0 -1px 0 rgba(255, 255, 255, .72);
}

body.jlr-theme-light .app-navbar .app-main-menu > .nav-item > .nav-link {
  color: #334139;
}

body.jlr-theme-light .app-navbar .app-main-menu > .nav-item > .nav-link i {
  color: #258f24;
}

body.jlr-theme-light .app-navbar .app-main-menu > .nav-item > .nav-link:hover,
body.jlr-theme-light .app-navbar .app-main-menu > .nav-item > .nav-link:focus,
body.jlr-theme-light .app-navbar .app-main-menu > .nav-item > .nav-link.is-current,
body.jlr-theme-light .app-navbar .app-main-menu > .nav-item.show > .nav-link {
  border-color: rgba(37, 143, 36, .15);
  background: rgba(255, 255, 255, .8);
  color: #196718;
  box-shadow: 0 6px 18px rgba(31, 73, 43, .07);
}

body.jlr-theme-light .app-navbar .app-main-menu > .nav-item > .nav-link.is-current::after {
  background: #258f24;
}

body.jlr-theme-light .app-logo-frame {
  border-color: rgba(35, 65, 51, .11);
  background: rgba(255, 255, 255, .92);
  box-shadow:
    0 8px 22px rgba(27, 56, 43, .11),
    inset 0 0 0 1px rgba(255, 255, 255, .58);
}

body.jlr-theme-light .app-navbar-brand:hover .app-logo-frame,
body.jlr-theme-light .app-navbar-brand:focus .app-logo-frame {
  border-color: rgba(37, 143, 36, .17);
  background: #fff;
  box-shadow: 0 11px 26px rgba(27, 56, 43, .16);
}

body.jlr-theme-light .app-tool-button,
body.jlr-theme-light .app-user-button {
  border-color: rgba(35, 65, 51, .13);
  background: rgba(255, 255, 255, .67);
  color: #334139;
  box-shadow: 0 6px 18px rgba(27, 56, 43, .055);
}

body.jlr-theme-light .app-tool-button > i {
  color: #258f24;
}

body.jlr-theme-light .app-tool-button:hover,
body.jlr-theme-light .app-tool-button:focus,
body.jlr-theme-light .app-user-button:hover,
body.jlr-theme-light .app-user-button:focus,
body.jlr-theme-light .app-language-dropdown.show .app-tool-button,
body.jlr-theme-light .app-user-dropdown.show .app-user-button {
  border-color: rgba(37, 143, 36, .2);
  background: rgba(255, 255, 255, .94);
  color: #196718;
  box-shadow: 0 8px 22px rgba(31, 73, 43, .09);
}

body.jlr-theme-light .app-user-avatar {
  border: 1px solid rgba(37, 143, 36, .11);
  background: #e9f6e8;
  color: #196718;
}

body.jlr-theme-light .app-user-copy strong {
  color: #27352d;
}

body.jlr-theme-light .app-user-copy small {
  color: #708078;
}

body.jlr-theme-light .app-navbar .dropdown-menu {
  border-color: rgba(35, 65, 51, .14);
  background: rgba(252, 254, 252, .985);
  box-shadow: 0 22px 52px rgba(27, 56, 43, .18);
}

body.jlr-theme-light .app-navbar .dropdown-item {
  color: #344039;
}

body.jlr-theme-light .app-navbar .dropdown-item:hover,
body.jlr-theme-light .app-navbar .dropdown-item:focus,
body.jlr-theme-light .app-navbar .dropdown-item.is-current {
  background: #edf7ee;
  color: #196718;
}

body.jlr-theme-light .app-navbar .dropdown-divider {
  border-color: rgba(35, 65, 51, .11);
}

body.jlr-theme-light .app-language-code {
  background: #e9f6e8;
  color: #196718;
}

body.jlr-theme-light .app-user-menu-heading span,
body.jlr-theme-light .app-user-menu-heading small {
  color: #718077;
}

body.jlr-theme-light .app-user-menu-heading strong {
  color: #253129;
}

body.jlr-theme-light .app-user-menu .dropdown-item i {
  color: #58735f;
}

body.jlr-theme-light .app-user-menu .app-logout-link {
  color: #9d3939;
}

body.jlr-theme-light .app-user-menu .app-logout-link:hover,
body.jlr-theme-light .app-user-menu .app-logout-link:focus {
  background: #fff1f0;
  color: #902f2f;
}

body.jlr-theme-light .app-navbar-toggler {
  border-color: rgba(35, 65, 51, .2) !important;
  background: rgba(255, 255, 255, .58);
}

body.jlr-theme-light .app-navbar-toggler .navbar-toggler-icon {
  background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='%23313f36' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E");
}

body.jlr-theme-light .app-navbar .navbar-collapse,
body.jlr-theme-light .app-navbar-tools {
  border-color: rgba(35, 65, 51, .13);
}

/* Graphite: the original dark concept, kept as the premium night treatment. */
body.jlr-theme-graphite .app-navbar {
  background:
    radial-gradient(
      circle at 92% -80%,
      rgba(45, 122, 80, .34),
      transparent 34%
    ),
    linear-gradient(
      118deg,
      rgba(23, 28, 25, .985),
      rgba(28, 34, 30, .97)
    );
  border-bottom-color: rgba(197, 207, 201, .13);
  box-shadow: 0 13px 38px rgba(0, 0, 0, .27);
}

body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item > .nav-link {
  color: rgba(255, 255, 255, .88);
}

body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item > .nav-link i {
  color: rgba(112, 194, 139, .9);
}

body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item > .nav-link:hover,
body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item > .nav-link:focus,
body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item > .nav-link.is-current,
body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item.show > .nav-link {
  border-color: rgba(255, 255, 255, .1);
  background: rgba(255, 255, 255, .075);
  color: #fff;
}

body.jlr-theme-graphite .app-navbar .app-main-menu > .nav-item > .nav-link.is-current::after {
  background: #64b781;
}

body.jlr-theme-graphite .app-logo-frame {
  border-color: rgba(255, 255, 255, .3);
  background: rgba(242, 240, 233, .95);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .22);
}

body.jlr-theme-graphite .app-navbar-brand:hover .app-logo-frame,
body.jlr-theme-graphite .app-navbar-brand:focus .app-logo-frame {
  background: #fffdf7;
  box-shadow: 0 11px 28px rgba(0, 0, 0, .28);
}

body.jlr-theme-graphite .app-tool-button,
body.jlr-theme-graphite .app-user-button {
  border-color: rgba(255, 255, 255, .14);
  background: rgba(255, 255, 255, .09);
  color: #fff;
}

body.jlr-theme-graphite .app-tool-button:hover,
body.jlr-theme-graphite .app-tool-button:focus,
body.jlr-theme-graphite .app-user-button:hover,
body.jlr-theme-graphite .app-user-button:focus,
body.jlr-theme-graphite .app-language-dropdown.show .app-tool-button,
body.jlr-theme-graphite .app-user-dropdown.show .app-user-button {
  border-color: rgba(255, 255, 255, .22);
  background: rgba(255, 255, 255, .15);
  color: #fff;
}

body.jlr-theme-graphite .app-user-avatar {
  background: rgba(235, 249, 234, .96);
  color: #2d7a50;
}

body.jlr-theme-graphite .app-user-copy strong {
  color: #fff;
}

body.jlr-theme-graphite .app-user-copy small {
  color: rgba(226, 232, 228, .58);
}

body.jlr-theme-graphite .app-navbar .dropdown-menu {
  border-color: rgba(205, 214, 208, .13);
  background: rgba(42, 47, 44, .985);
  box-shadow: 0 22px 55px rgba(0, 0, 0, .38);
}

body.jlr-theme-graphite .app-navbar .dropdown-item {
  color: #d9ddd9;
}

body.jlr-theme-graphite .app-navbar .dropdown-item:hover,
body.jlr-theme-graphite .app-navbar .dropdown-item:focus,
body.jlr-theme-graphite .app-navbar .dropdown-item.is-current {
  background: rgba(45, 122, 80, .18);
  color: #8ed0a5;
}

body.jlr-theme-graphite .app-navbar .dropdown-divider {
  border-color: rgba(205, 214, 208, .11);
}

body.jlr-theme-graphite .app-language-code {
  background: rgba(45, 122, 80, .2);
  color: #9bd5af;
}

body.jlr-theme-graphite .app-user-menu-heading span,
body.jlr-theme-graphite .app-user-menu-heading small {
  color: #9da7a1;
}

body.jlr-theme-graphite .app-user-menu-heading strong {
  color: #f2f0e9;
}

body.jlr-theme-graphite .app-user-menu .dropdown-item i {
  color: #94aa9a;
}

body.jlr-theme-graphite .app-user-menu .app-logout-link {
  color: #ee9696;
}

body.jlr-theme-graphite .app-user-menu .app-logout-link:hover,
body.jlr-theme-graphite .app-user-menu .app-logout-link:focus {
  background: rgba(165, 62, 62, .17);
  color: #ffaaaa;
}

body.jlr-theme-graphite .app-navbar-toggler {
  border-color: rgba(255, 255, 255, .22) !important;
  background: rgba(255, 255, 255, .045);
}

body.jlr-theme-graphite .app-navbar .navbar-collapse,
body.jlr-theme-graphite .app-navbar-tools {
  border-color: rgba(255, 255, 255, .12);
}

/* Theme selector inside the user menu. */
.app-theme-menu {
  padding: 8px 10px 10px;
}

.app-theme-menu-label {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 8px;
  color: #6d7b72;
  font-size: .72rem;
  font-weight: 750;
}

.app-theme-menu-label i {
  width: 18px;
  text-align: center;
}

.app-theme-options {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 5px;
  padding: 4px;
  border: 1px solid rgba(38, 71, 49, .12);
  border-radius: 12px;
  background: #eef3ef;
}

.app-theme-option {
  display: inline-flex;
  min-height: 37px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  padding: 7px 9px;
  border: 1px solid transparent;
  border-radius: 9px;
  background: transparent;
  color: #69776e;
  cursor: pointer;
  font: inherit;
  font-size: .72rem;
  font-weight: 700;
  transition:
    background-color 150ms ease,
    border-color 150ms ease,
    color 150ms ease,
    transform 150ms ease;
}

.app-theme-option:hover,
.app-theme-option:focus {
  border-color: rgba(37, 143, 36, .15);
  background: rgba(255, 255, 255, .68);
  color: #315f3c;
  outline: 0;
}

.app-theme-option.is-selected {
  border-color: rgba(37, 143, 36, .17);
  background: #fff;
  color: #196718;
  box-shadow: 0 5px 14px rgba(31, 58, 45, .09);
}

.app-theme-options.is-saving,
.app-theme-options[aria-busy="true"] {
  opacity: .66;
}

.app-theme-option:disabled {
  cursor: wait;
}

.app-theme-error {
  grid-column: 1 / -1;
  margin: 7px 2px 0;
  color: #bd4b4b;
  font-size: .67rem;
  line-height: 1.35;
}

body.jlr-theme-graphite .app-theme-menu-label {
  color: #a7b0aa;
}

body.jlr-theme-graphite .app-theme-options {
  border-color: rgba(211, 220, 214, .12);
  background: rgba(22, 27, 24, .72);
}

body.jlr-theme-graphite .app-theme-option {
  color: #aeb6b0;
}

body.jlr-theme-graphite .app-theme-option:hover,
body.jlr-theme-graphite .app-theme-option:focus {
  border-color: rgba(100, 183, 129, .18);
  background: rgba(255, 255, 255, .055);
  color: #dce3de;
}

body.jlr-theme-graphite .app-theme-option.is-selected {
  border-color: rgba(100, 183, 129, .25);
  background: rgba(45, 122, 80, .25);
  color: #9bd5af;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .18);
}

body.jlr-theme-graphite .app-theme-error {
  color: #f09a9a;
}

/* Main light surfaces retain enough transparency to reveal the showroom. */
body.jlr-theme-light .jlr-page,
body.jlr-theme-light .jlr-form-page,
body.jlr-theme-light .jlr-content-page,
body.jlr-theme-light .users-page,
body.jlr-theme-light .models-page,
body.jlr-theme-light .requests-page {
  border-color: rgba(255, 255, 255, .72);
  background:
    radial-gradient(
      circle at 88% 5%,
      rgba(79, 158, 89, .115),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      rgba(255, 255, 255, .8),
      rgba(247, 251, 248, .66)
    );
  box-shadow:
    0 24px 62px rgba(27, 56, 43, .105),
    inset 0 1px 0 rgba(255, 255, 255, .64);
}

/* Main graphite surfaces retain a denser night-glass treatment. */
body.jlr-theme-graphite .app-content-container {
  color: var(--jlr-ink);
}

body.jlr-theme-graphite .jlr-page,
body.jlr-theme-graphite .jlr-form-page,
body.jlr-theme-graphite .jlr-content-page,
body.jlr-theme-graphite .users-page,
body.jlr-theme-graphite .models-page,
body.jlr-theme-graphite .requests-page {
  border-color: rgba(207, 216, 210, .14);
  background:
    radial-gradient(
      circle at 88% 4%,
      rgba(45, 122, 80, .13),
      transparent 30%
    ),
    linear-gradient(
      145deg,
      rgba(42, 47, 44, .885),
      rgba(30, 35, 32, .845)
    );
  box-shadow:
    0 26px 68px rgba(0, 0, 0, .33),
    inset 0 1px 0 rgba(255, 255, 255, .025);
  color: var(--jlr-ink);
}

body.jlr-theme-graphite .vector-use-authorization {
  border-color: var(--jlr-line);
  background: rgba(43, 48, 45, .82);
}

body.jlr-theme-graphite .vector-use-authorization.is-active {
  background: rgba(47, 76, 49, .66);
}

body.jlr-theme-graphite .vector-use-authorization.is-locked {
  background: rgba(78, 49, 45, .62);
}

body.jlr-theme-graphite .vector-use-overrun-badge {
  background: rgba(206, 76, 67, .18);
  color: #ffaaa4;
}

body.jlr-theme-graphite .jlr-page-heading h1,
body.jlr-theme-graphite .jlr-page-heading h2,
body.jlr-theme-graphite .jlr-content-page h1,
body.jlr-theme-graphite .jlr-content-page h2,
body.jlr-theme-graphite .requests-heading h2,
body.jlr-theme-graphite .users-heading h2,
body.jlr-theme-graphite .models-heading h2 {
  color: #f2f0e9;
}

body.jlr-theme-graphite .jlr-page-heading p,
body.jlr-theme-graphite .requests-heading p,
body.jlr-theme-graphite .users-heading p,
body.jlr-theme-graphite .models-heading p,
body.jlr-theme-graphite .jlr-content-meta {
  color: #a9b0ab;
}

body.jlr-theme-graphite .jlr-page-heading-icon,
body.jlr-theme-graphite .requests-heading-icon,
body.jlr-theme-graphite .users-heading-icon,
body.jlr-theme-graphite .models-heading-icon,
body.jlr-theme-graphite .booking-title-icon {
  border-color: rgba(100, 183, 129, .2);
  background:
    linear-gradient(
      145deg,
      rgba(45, 122, 80, .22),
      rgba(32, 48, 39, .72)
    );
  color: #77c18f;
  box-shadow: 0 10px 25px rgba(0, 0, 0, .21);
}

body.jlr-theme-graphite .jlr-toolbar,
body.jlr-theme-graphite .users-toolbar,
body.jlr-theme-graphite .models-toolbar,
body.jlr-theme-graphite .requests-toolbar,
body.jlr-theme-graphite .booking-toolbar,
body.jlr-theme-graphite .booking-calendar-topline {
  border-color: var(--jlr-line);
  background: rgba(31, 36, 33, .7);
  box-shadow: 0 10px 28px rgba(0, 0, 0, .16);
}

body.jlr-theme-graphite .jlr-table-card,
body.jlr-theme-graphite .users-table-card,
body.jlr-theme-graphite .models-table-card,
body.jlr-theme-graphite .requests-table-card,
body.jlr-theme-graphite .booking-grid,
body.jlr-theme-graphite .booking-empty-state {
  border-color: var(--jlr-line);
  background: rgba(36, 41, 38, .88);
  box-shadow: 0 16px 40px rgba(0, 0, 0, .23);
}

/* Form controls and selectable toolbar elements. */
body.jlr-theme-graphite .jlr-page .form-control,
body.jlr-theme-graphite .jlr-form-page .form-control,
body.jlr-theme-graphite .jlr-content-page .form-control,
body.jlr-theme-graphite .users-page .form-control,
body.jlr-theme-graphite .models-page .form-control,
body.jlr-theme-graphite .requests-page .form-control,
body.jlr-theme-graphite .users-search input,
body.jlr-theme-graphite .models-search input,
body.jlr-theme-graphite .requests-search-input,
body.jlr-theme-graphite .dealers-search input,
body.jlr-theme-graphite .booking-vehicle-search,
body.jlr-theme-graphite .booking-date-search input {
  border-color: rgba(207, 216, 210, .17);
  background-color: rgba(24, 29, 26, .82);
  color: #edf0ed;
  box-shadow: none;
}

body.jlr-theme-graphite .jlr-page .form-control::placeholder,
body.jlr-theme-graphite .jlr-form-page .form-control::placeholder,
body.jlr-theme-graphite .users-search input::placeholder,
body.jlr-theme-graphite .models-search input::placeholder,
body.jlr-theme-graphite .requests-search-input::placeholder,
body.jlr-theme-graphite .dealers-search input::placeholder,
body.jlr-theme-graphite .booking-vehicle-search input::placeholder {
  color: #7f8b84;
}

body.jlr-theme-graphite .jlr-page .form-control:focus,
body.jlr-theme-graphite .jlr-form-page .form-control:focus,
body.jlr-theme-graphite .users-search input:focus,
body.jlr-theme-graphite .models-search input:focus,
body.jlr-theme-graphite .requests-search-input:focus,
body.jlr-theme-graphite .dealers-search input:focus,
body.jlr-theme-graphite .booking-vehicle-search:focus-within,
body.jlr-theme-graphite .booking-date-search input:focus {
  border-color: rgba(100, 183, 129, .52);
  background-color: rgba(27, 33, 29, .96);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(45, 122, 80, .14);
}

body.jlr-theme-graphite select.form-control,
body.jlr-theme-graphite option {
  background-color: #252b27;
  color: #edf0ed;
}

body.jlr-theme-graphite .jlr-segment-group,
body.jlr-theme-graphite .users-state-switch,
body.jlr-theme-graphite .models-state-switch {
  border-color: var(--jlr-line);
  background: rgba(19, 24, 21, .66);
}

body.jlr-theme-graphite .jlr-segment-button,
body.jlr-theme-graphite .jlr-export-button,
body.jlr-theme-graphite .jlr-secondary-action,
body.jlr-theme-graphite .users-state-button,
body.jlr-theme-graphite .users-export-button,
body.jlr-theme-graphite .models-state-button,
body.jlr-theme-graphite .models-export-button,
body.jlr-theme-graphite .booking-nav-button {
  border-color: rgba(207, 216, 210, .12);
  background: rgba(255, 255, 255, .025);
  color: #aeb6b0 !important;
}

body.jlr-theme-graphite .jlr-segment-button:hover,
body.jlr-theme-graphite .jlr-segment-button:focus,
body.jlr-theme-graphite .jlr-export-button:hover,
body.jlr-theme-graphite .jlr-export-button:focus,
body.jlr-theme-graphite .users-state-button:hover,
body.jlr-theme-graphite .users-state-button:focus,
body.jlr-theme-graphite .users-export-button:hover,
body.jlr-theme-graphite .users-export-button:focus,
body.jlr-theme-graphite .models-state-button:hover,
body.jlr-theme-graphite .models-state-button:focus,
body.jlr-theme-graphite .models-export-button:hover,
body.jlr-theme-graphite .models-export-button:focus,
body.jlr-theme-graphite .booking-nav-button:hover,
body.jlr-theme-graphite .booking-nav-button:focus {
  border-color: rgba(100, 183, 129, .24);
  background: rgba(255, 255, 255, .06);
  color: #90cea5 !important;
}

body.jlr-theme-graphite .jlr-segment-button.is-selected,
body.jlr-theme-graphite .jlr-segment-button.text-success,
body.jlr-theme-graphite .users-state-button.is-selected,
body.jlr-theme-graphite .models-state-button.is-selected {
  border-color: rgba(100, 183, 129, .27);
  background: rgba(45, 122, 80, .27);
  color: #a4ddb7 !important;
  box-shadow: 0 5px 16px rgba(0, 0, 0, .2);
}

body.jlr-theme-graphite .jlr-primary-action,
body.jlr-theme-graphite .users-primary-action,
body.jlr-theme-graphite .models-primary-action,
body.jlr-theme-graphite .booking-nav-today {
  border-color: #397f54;
  background: linear-gradient(135deg, #347b50, #235f3c);
  color: #fff !important;
  box-shadow: 0 10px 23px rgba(0, 0, 0, .2);
}

body.jlr-theme-graphite .jlr-primary-action:hover,
body.jlr-theme-graphite .jlr-primary-action:focus,
body.jlr-theme-graphite .users-primary-action:hover,
body.jlr-theme-graphite .users-primary-action:focus,
body.jlr-theme-graphite .models-primary-action:hover,
body.jlr-theme-graphite .models-primary-action:focus,
body.jlr-theme-graphite .booking-nav-today:hover,
body.jlr-theme-graphite .booking-nav-today:focus {
  border-color: #4c9667;
  background: linear-gradient(135deg, #397f54, #2f7048);
  color: #fff !important;
}

/* Shared list tables. */
body.jlr-theme-graphite .jlr-page .jlr-table,
body.jlr-theme-graphite .jlr-page > .table,
body.jlr-theme-graphite .users-table,
body.jlr-theme-graphite .models-table,
body.jlr-theme-graphite .requests-table {
  color: #e8ece9;
}

body.jlr-theme-graphite .jlr-page .jlr-table thead th,
body.jlr-theme-graphite .jlr-page > .table thead th,
body.jlr-theme-graphite .users-table th,
body.jlr-theme-graphite .models-table th,
body.jlr-theme-graphite .requests-table thead th {
  border-color: var(--jlr-line);
  background: rgba(255, 255, 255, .035);
  color: #aab3ad;
}

body.jlr-theme-graphite .jlr-page .jlr-table tbody td,
body.jlr-theme-graphite .jlr-page > .table tbody td,
body.jlr-theme-graphite .users-table td,
body.jlr-theme-graphite .models-table td,
body.jlr-theme-graphite .requests-table tbody td {
  border-color: rgba(207, 216, 210, .09);
  background: transparent;
  color: #e8ece9;
}

body.jlr-theme-graphite .jlr-page .jlr-table tbody tr:hover,
body.jlr-theme-graphite .jlr-page > .table tbody tr:hover,
body.jlr-theme-graphite .users-table tbody tr:hover,
body.jlr-theme-graphite .models-table tbody tr:hover,
body.jlr-theme-graphite .requests-table tbody tr:hover {
  background: rgba(45, 122, 80, .1);
}

body.jlr-theme-graphite .jlr-id-badge,
body.jlr-theme-graphite .users-id-badge,
body.jlr-theme-graphite .models-id-badge {
  border-color: rgba(100, 183, 129, .17);
  background: rgba(45, 122, 80, .18);
  color: #9bd3ad;
}

body.jlr-theme-graphite .jlr-row-action,
body.jlr-theme-graphite .users-icon-button,
body.jlr-theme-graphite .models-icon-button,
body.jlr-theme-graphite .requests-page .request-control-button {
  border-color: rgba(207, 216, 210, .15);
  background: rgba(255, 255, 255, .035);
  color: #b6beb9;
}

body.jlr-theme-graphite .jlr-row-action:hover,
body.jlr-theme-graphite .jlr-row-action:focus,
body.jlr-theme-graphite .users-icon-button:hover,
body.jlr-theme-graphite .users-icon-button:focus,
body.jlr-theme-graphite .models-icon-button:hover,
body.jlr-theme-graphite .models-icon-button:focus {
  border-color: rgba(100, 183, 129, .31);
  background: rgba(45, 122, 80, .17);
  color: #a1dab4;
}

body.jlr-theme-graphite .jlr-action-danger,
body.jlr-theme-graphite .users-icon-button.is-danger,
body.jlr-theme-graphite .models-icon-button.is-danger {
  border-color: rgba(229, 121, 121, .25);
  background: rgba(165, 62, 62, .16);
  color: #eb9090;
}

body.jlr-theme-graphite .jlr-action-success,
body.jlr-theme-graphite .users-icon-button.is-restore,
body.jlr-theme-graphite .models-icon-button.is-restore {
  border-color: rgba(100, 183, 129, .25);
  background: rgba(45, 122, 80, .17);
  color: #94d2a9;
}

body.jlr-theme-graphite .jlr-pagination .btn,
body.jlr-theme-graphite .users-page-button,
body.jlr-theme-graphite .models-page-button,
body.jlr-theme-graphite .requests-pagination .btn {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(255, 255, 255, .03);
  color: #aeb6b0;
}

body.jlr-theme-graphite .jlr-pagination .btn:hover,
body.jlr-theme-graphite .jlr-pagination .btn:focus,
body.jlr-theme-graphite .users-page-button:hover,
body.jlr-theme-graphite .users-page-button:focus,
body.jlr-theme-graphite .models-page-button:hover,
body.jlr-theme-graphite .models-page-button:focus,
body.jlr-theme-graphite .requests-pagination .btn:hover,
body.jlr-theme-graphite .requests-pagination .btn:focus,
body.jlr-theme-graphite .jlr-pagination .btn.text-success,
body.jlr-theme-graphite .users-page-button.is-current,
body.jlr-theme-graphite .models-page-button.is-current,
body.jlr-theme-graphite .requests-pagination .btn.text-success {
  border-color: rgba(100, 183, 129, .28);
  background: rgba(45, 122, 80, .22);
  color: #9bd5af !important;
}

/* User and Model pages keep their current markup and local variables. */
body.jlr-theme-graphite .users-page {
  --users-green: #4fa36d;
  --users-green-dark: #83ca99;
  --users-green-soft: rgba(45, 122, 80, .18);
  --users-ink: #f2f0e9;
  --users-muted: #a9b0ab;
  --users-line: rgba(207, 216, 210, .13);
  --users-surface: rgba(42, 47, 44, .87);
  --users-white: #303531;
  --users-danger: #e57979;
  --users-shadow: 0 25px 66px rgba(0, 0, 0, .32);
}

body.jlr-theme-graphite .models-page {
  --models-green: #4fa36d;
  --models-green-dark: #83ca99;
  --models-green-soft: rgba(45, 122, 80, .18);
  --models-ink: #f2f0e9;
  --models-muted: #a9b0ab;
  --models-line: rgba(207, 216, 210, .13);
  --models-danger: #e57979;
  --models-shadow: 0 25px 66px rgba(0, 0, 0, .32);
}

body.jlr-theme-graphite .users-filter-row,
body.jlr-theme-graphite .users-role-filter,
body.jlr-theme-graphite .users-permission-chip,
body.jlr-theme-graphite .models-brand-chip,
body.jlr-theme-graphite .models-account-status,
body.jlr-theme-graphite .users-account-status,
body.jlr-theme-graphite .dealers-country-chip,
body.jlr-theme-graphite .dealers-status {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(255, 255, 255, .045);
  color: #c3cbc5;
}

body.jlr-theme-graphite .users-role-filter.is-selected,
body.jlr-theme-graphite .users-permission-chip.is-core,
body.jlr-theme-graphite .users-permission-chip.is-booking,
body.jlr-theme-graphite .users-permission-chip.is-pp,
body.jlr-theme-graphite .models-account-status:not(.is-inactive),
body.jlr-theme-graphite .users-account-status:not(.is-inactive),
body.jlr-theme-graphite .dealers-status:not(.is-inactive) {
  border-color: rgba(100, 183, 129, .23);
  background: rgba(45, 122, 80, .18);
  color: #9dd6b0;
}

body.jlr-theme-graphite .users-email,
body.jlr-theme-graphite .models-meta,
body.jlr-theme-graphite .dealers-number,
body.jlr-theme-graphite .users-list-meta,
body.jlr-theme-graphite .models-list-meta,
body.jlr-theme-graphite .dealers-list-meta {
  color: #9da7a1;
}

body.jlr-theme-graphite .users-name,
body.jlr-theme-graphite .models-name,
body.jlr-theme-graphite .dealers-name {
  color: #edf0ed;
}

/* Requests module. */
body.jlr-theme-graphite .requests-page {
  --admin: #4fa36d;
  --dealer: #62a782;
  --finance: #84acc0;
  --sales: #b8a77c;
  --archive: #89948d;
}

body.jlr-theme-graphite .requests-filter-stack,
body.jlr-theme-graphite .requests-page #status_changer,
body.jlr-theme-graphite .requests-page #date_changer {
  border-color: var(--jlr-line);
}

body.jlr-theme-graphite .requests-page .status_item,
body.jlr-theme-graphite .requests-page .date_item {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(255, 255, 255, .035);
  color: #aeb6b0;
}

body.jlr-theme-graphite .requests-page .status_item:hover,
body.jlr-theme-graphite .requests-page .status_item:focus,
body.jlr-theme-graphite .requests-page .date_item:hover,
body.jlr-theme-graphite .requests-page .date_item:focus,
body.jlr-theme-graphite .requests-page .status_item.text-success,
body.jlr-theme-graphite .requests-page .date_item.text-success {
  border-color: rgba(100, 183, 129, .26);
  background: rgba(45, 122, 80, .19);
  color: #9bd5af !important;
}

body.jlr-theme-graphite .request-overview-card,
body.jlr-theme-graphite .request-detail-card,
body.jlr-theme-graphite .request-inline-tool {
  border-color: rgba(207, 216, 210, .12);
  background: rgba(255, 255, 255, .035);
  color: #d9dfdb;
}

/* Vehicle booking grid. */
body.jlr-theme-graphite .vehicle-booking-page,
body.jlr-theme-graphite .booking-modal-content {
  --booking-green: #4fa36d;
  --booking-green-dark: #83ca99;
  --booking-green-deep: #245c3a;
  --booking-green-soft: rgba(45, 122, 80, .18);
  --booking-line: rgba(207, 216, 210, .13);
  --booking-ink: #f2f0e9;
  --booking-muted: #a9b0ab;
  --booking-surface: rgba(36, 41, 38, .9);
  --booking-shadow: 0 25px 66px rgba(0, 0, 0, .32);
  --booking-approved: #418d60;
  --booking-other: #79867e;
}

body.jlr-theme-graphite .booking-period-card,
body.jlr-theme-graphite .booking-access-badge,
body.jlr-theme-graphite .booking-auto-rule,
body.jlr-theme-graphite .booking-legend span,
body.jlr-theme-graphite .booking-search-empty {
  border-color: var(--booking-line);
  background: rgba(255, 255, 255, .035);
  color: #aeb6b0;
  box-shadow: none;
}

body.jlr-theme-graphite .booking-date-search {
  border-color: var(--booking-line);
}

body.jlr-theme-graphite .booking-date-search label {
  color: #aeb6b0;
}

body.jlr-theme-graphite .booking-date-search input {
  color-scheme: dark;
}

body.jlr-theme-graphite .booking-period-card strong,
body.jlr-theme-graphite .booking-calendar-heading > strong,
body.jlr-theme-graphite .booking-page-heading h2,
body.jlr-theme-graphite .booking-search-empty strong {
  color: #edf0ed;
}

body.jlr-theme-graphite .booking-vehicle-search input {
  color: #edf0ed;
}

body.jlr-theme-graphite .vehicle-header,
body.jlr-theme-graphite .booking-days-header {
  border-color: var(--booking-line);
  background: rgba(255, 255, 255, .045);
}

body.jlr-theme-graphite .booking-day-header {
  border-color: var(--booking-line);
}

body.jlr-theme-graphite .booking-day-header strong,
body.jlr-theme-graphite .vehicle-header span,
body.jlr-theme-graphite .vehicle-copy strong {
  color: #edf0ed;
}

body.jlr-theme-graphite .booking-day-header small,
body.jlr-theme-graphite .booking-day-header span,
body.jlr-theme-graphite .vehicle-header small,
body.jlr-theme-graphite .vehicle-copy small,
body.jlr-theme-graphite .vehicle-vin-line > span,
body.jlr-theme-graphite .vehicle-copy .vehicle-detail-line {
  color: #9aa59e;
}

body.jlr-theme-graphite .booking-day-header.is-weekend {
  background: rgba(255, 255, 255, .025);
}

body.jlr-theme-graphite .booking-day-header.is-today {
  background: rgba(45, 122, 80, .17);
}

body.jlr-theme-graphite .vehicle-name {
  border-color: var(--booking-line);
  background: rgba(39, 44, 41, .97);
}

body.jlr-theme-graphite .vehicle-icon {
  border-color: rgba(100, 183, 129, .2);
  background: rgba(45, 122, 80, .18);
  color: #89cda0;
}

body.jlr-theme-graphite .booking-resource-row {
  border-color: var(--booking-line);
  background-color: rgba(34, 39, 36, .91);
  background-image: linear-gradient(
    to right,
    var(--booking-line) 1px,
    transparent 1px
  );
}

body.jlr-theme-graphite .booking-resource-row:hover {
  background-color: rgba(45, 122, 80, .09);
}

body.jlr-theme-graphite .booking-resource-wrapper.is-focus-row .vehicle-name {
  background: rgba(155, 109, 32, .17);
}

/* Modals remain readable in Graphite mode. */
body.jlr-theme-graphite .modal-content,
body.jlr-theme-graphite .booking-modal-content,
body.jlr-theme-graphite .users-modal .modal-content,
body.jlr-theme-graphite .models-modal .modal-content,
body.jlr-theme-graphite .requests-page .modal-content {
  border-color: rgba(207, 216, 210, .15);
  background: #2b302d;
  color: #edf0ed;
  box-shadow: 0 28px 78px rgba(0, 0, 0, .48);
}

body.jlr-theme-graphite .modal-header,
body.jlr-theme-graphite .booking-modal-header,
body.jlr-theme-graphite .users-modal .modal-header,
body.jlr-theme-graphite .models-modal .modal-header,
body.jlr-theme-graphite .requests-page .modal-header {
  border-color: var(--jlr-line);
  background:
    linear-gradient(
      135deg,
      rgba(45, 122, 80, .14),
      rgba(36, 41, 38, .95)
    );
}

body.jlr-theme-graphite .modal-body,
body.jlr-theme-graphite .booking-modal-content .modal-body,
body.jlr-theme-graphite .users-modal .modal-body,
body.jlr-theme-graphite .models-modal .modal-body,
body.jlr-theme-graphite .requests-page .modal-body {
  background: #2b302d;
  color: #edf0ed;
}

body.jlr-theme-graphite .modal-footer,
body.jlr-theme-graphite .booking-modal-content .modal-footer,
body.jlr-theme-graphite .users-modal .modal-footer,
body.jlr-theme-graphite .models-modal .modal-footer,
body.jlr-theme-graphite .requests-page .modal-footer {
  border-color: var(--jlr-line);
  background: rgba(25, 30, 27, .62);
  color: #edf0ed;
}

body.jlr-theme-graphite .modal-title,
body.jlr-theme-graphite .booking-modal-header h5,
body.jlr-theme-graphite .users-modal-title h5,
body.jlr-theme-graphite .models-modal-title h5,
body.jlr-theme-graphite .modal label,
body.jlr-theme-graphite .booking-modal-content label {
  color: #edf0ed;
}

body.jlr-theme-graphite .modal .close,
body.jlr-theme-graphite .jlr-modal-close,
body.jlr-theme-graphite .users-modal-close,
body.jlr-theme-graphite .models-modal-close,
body.jlr-theme-graphite .booking-modal-header .jlr-modal-close {
  border-color: rgba(207, 216, 210, .14);
  background: rgba(255, 255, 255, .045);
  color: #c4cbc6;
  text-shadow: none;
}

body.jlr-theme-graphite .modal .close:hover,
body.jlr-theme-graphite .modal .close:focus,
body.jlr-theme-graphite .jlr-modal-close:hover,
body.jlr-theme-graphite .jlr-modal-close:focus,
body.jlr-theme-graphite .users-modal-close:hover,
body.jlr-theme-graphite .users-modal-close:focus,
body.jlr-theme-graphite .models-modal-close:hover,
body.jlr-theme-graphite .models-modal-close:focus,
body.jlr-theme-graphite .booking-modal-header .jlr-modal-close:hover,
body.jlr-theme-graphite .booking-modal-header .jlr-modal-close:focus {
  border-color: rgba(100, 183, 129, .25);
  background: rgba(45, 122, 80, .17);
  color: #9ed6b1;
}

body.jlr-theme-graphite .modal table,
body.jlr-theme-graphite .modal table td,
body.jlr-theme-graphite .modal table th {
  border-color: var(--jlr-line);
  color: #e4e9e5;
}

/*
 * Graphite QA pass (V3)
 * ---------------------
 * These rules deliberately target component families instead of individual
 * screens. The views keep their existing markup while their values, cards,
 * native date controls and Bootstrap utility colours receive one consistent,
 * accessible dark treatment.
 */

/* The replacement PNG has real transparency; the frame is now its only glass. */
body.jlr-theme .app-logo-frame {
  overflow: hidden;
  isolation: isolate;
}

body.jlr-theme .app-logo-image {
  background: transparent !important;
  mix-blend-mode: normal;
}

body.jlr-theme-light .app-logo-frame {
  background: rgba(255, 255, 255, .87);
}

body.jlr-theme-graphite .app-logo-frame {
  background: rgba(242, 240, 233, .92);
}

/* Shared content cards, including the Home / News stream. */
body.jlr-theme-graphite .jlr-content-card,
body.jlr-theme-graphite .jlr-form-card,
body.jlr-theme-graphite .app-content-container .card,
body.jlr-theme-graphite .app-content-container .list-group-item {
  border-color: rgba(207, 216, 210, .14);
  background: linear-gradient(
    145deg,
    rgba(48, 54, 50, .92),
    rgba(37, 43, 39, .9)
  );
  color: var(--jlr-text-secondary);
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
}

body.jlr-theme-graphite .jlr-content-card h1,
body.jlr-theme-graphite .jlr-content-card h2,
body.jlr-theme-graphite .jlr-content-card h3,
body.jlr-theme-graphite .jlr-content-card h4,
body.jlr-theme-graphite .jlr-content-card strong,
body.jlr-theme-graphite .jlr-form-card h1,
body.jlr-theme-graphite .jlr-form-card h2,
body.jlr-theme-graphite .jlr-form-card h3,
body.jlr-theme-graphite .app-content-container .card-title {
  color: var(--jlr-text-primary);
}

body.jlr-theme-graphite .jlr-content-card p,
body.jlr-theme-graphite .jlr-content-card li,
body.jlr-theme-graphite .jlr-content-card > div,
body.jlr-theme-graphite .jlr-form-card p,
body.jlr-theme-graphite .app-content-container .card-text {
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .jlr-content-card .jlr-content-meta,
body.jlr-theme-graphite .jlr-content-meta {
  color: var(--jlr-text-muted) !important;
}

body.jlr-theme-graphite .jlr-content-card a:not(.btn),
body.jlr-theme-graphite .jlr-form-card a:not(.btn) {
  color: var(--jlr-accent-readable);
}

body.jlr-theme-graphite .jlr-content-card a:not(.btn):hover,
body.jlr-theme-graphite .jlr-content-card a:not(.btn):focus,
body.jlr-theme-graphite .jlr-form-card a:not(.btn):hover,
body.jlr-theme-graphite .jlr-form-card a:not(.btn):focus {
  color: var(--jlr-accent-strong);
}

/* Every data table uses the same value and heading colours. */
body.jlr-theme-graphite .app-content-container table,
body.jlr-theme-graphite .app-content-container .table,
body.jlr-theme-graphite .app-content-container .jlr-table,
body.jlr-theme-graphite .app-content-container .users-table,
body.jlr-theme-graphite .app-content-container .models-table,
body.jlr-theme-graphite .app-content-container .requests-table {
  color: var(--jlr-text-primary) !important;
}

body.jlr-theme-graphite .app-content-container table thead th,
body.jlr-theme-graphite .app-content-container .table thead th {
  border-color: rgba(207, 216, 210, .13);
  background-color: rgba(255, 255, 255, .04);
  color: #c8d0ca !important;
}

body.jlr-theme-graphite .app-content-container table tbody td,
body.jlr-theme-graphite .app-content-container table tbody th,
body.jlr-theme-graphite .app-content-container .table tbody td,
body.jlr-theme-graphite .app-content-container .table tbody th {
  border-color: rgba(207, 216, 210, .09);
  color: var(--jlr-text-primary) !important;
}

body.jlr-theme-graphite .app-content-container .table-striped tbody tr:nth-of-type(odd) {
  background-color: rgba(255, 255, 255, .018);
}

body.jlr-theme-graphite .app-content-container .table-hover tbody tr:hover,
body.jlr-theme-graphite .app-content-container table tbody tr:hover {
  background-color: rgba(67, 145, 94, .12);
  color: #fff;
}

body.jlr-theme-graphite .app-content-container table tbody td a:not(.btn),
body.jlr-theme-graphite .app-content-container table tbody th a:not(.btn) {
  color: var(--jlr-accent-readable);
}

body.jlr-theme-graphite .app-content-container table tbody td a:not(.btn):hover,
body.jlr-theme-graphite .app-content-container table tbody td a:not(.btn):focus,
body.jlr-theme-graphite .app-content-container table tbody th a:not(.btn):hover,
body.jlr-theme-graphite .app-content-container table tbody th a:not(.btn):focus {
  color: var(--jlr-accent-strong);
}

body.jlr-theme-graphite .request-row-id,
body.jlr-theme-graphite .request-overview strong {
  color: var(--jlr-text-primary);
}

body.jlr-theme-graphite .request-overview span,
body.jlr-theme-graphite .request-overview small,
body.jlr-theme-graphite .jlr-toolbar-copy,
body.jlr-theme-graphite .jlr-page-heading p {
  color: var(--jlr-text-muted);
}

body.jlr-theme-graphite .jlr-page label,
body.jlr-theme-graphite .jlr-form-page label,
body.jlr-theme-graphite .jlr-content-page label {
  color: var(--jlr-text-secondary);
}

/* Request pages used their own light-only variable set. */
body.jlr-theme-graphite .requests-page {
  --request-ink: var(--jlr-text-primary);
  --request-muted: var(--jlr-text-muted);
  --request-line: rgba(207, 216, 210, .13);
  --request-surface: rgba(36, 41, 38, .88);
  --request-surface-strong: #303632;
  --request-green: #69bb85;
  --request-green-dark: #8dcfa4;
  --request-green-soft: rgba(45, 122, 80, .2);
  --request-danger: #e58b8b;
  --request-danger-dark: #f0a0a0;
  --request-danger-soft: rgba(165, 62, 62, .16);
  --request-warning: #dfbd77;
  --request-blue: #8abbd1;
}

body.jlr-theme-graphite .request-primary-action,
body.jlr-theme-graphite .request-modal-primary,
body.jlr-theme-graphite .request-modal-success {
  border-color: #397f54;
  background: #347b50;
  color: #fff;
}

body.jlr-theme-graphite .request-primary-action:hover,
body.jlr-theme-graphite .request-primary-action:focus,
body.jlr-theme-graphite .request-modal-primary:hover,
body.jlr-theme-graphite .request-modal-primary:focus,
body.jlr-theme-graphite .request-modal-success:hover,
body.jlr-theme-graphite .request-modal-success:focus {
  border-color: #4c9667;
  background: #397f54;
  color: #fff;
}

body.jlr-theme-graphite .request-secondary-action,
body.jlr-theme-graphite .request-modal-secondary {
  border-color: rgba(207, 216, 210, .18);
  background: rgba(255, 255, 255, .045);
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .request-secondary-action:hover,
body.jlr-theme-graphite .request-secondary-action:focus,
body.jlr-theme-graphite .request-modal-secondary:hover,
body.jlr-theme-graphite .request-modal-secondary:focus {
  border-color: rgba(122, 202, 149, .36);
  background: rgba(79, 163, 109, .17);
  color: var(--jlr-accent-readable);
}

body.jlr-theme-graphite .request-modal-danger {
  border-color: #a95056;
  background: #8e3d43;
  color: #fff;
}

body.jlr-theme-graphite .request-modal-danger:hover,
body.jlr-theme-graphite .request-modal-danger:focus {
  border-color: #bf6268;
  background: #a3474e;
  color: #fff;
}

body.jlr-theme-graphite .jlr-pprequest-filters .btn,
body.jlr-theme-graphite .jlr-pprequest-filters .status_item,
body.jlr-theme-graphite .jlr-pprequest-filters .date_item {
  border-color: rgba(207, 216, 210, .14);
  background: rgba(255, 255, 255, .035);
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .jlr-pprequest-filters .btn:hover,
body.jlr-theme-graphite .jlr-pprequest-filters .btn:focus,
body.jlr-theme-graphite .jlr-pprequest-filters .status_item:hover,
body.jlr-theme-graphite .jlr-pprequest-filters .status_item:focus,
body.jlr-theme-graphite .jlr-pprequest-filters .date_item:hover,
body.jlr-theme-graphite .jlr-pprequest-filters .date_item:focus,
body.jlr-theme-graphite .jlr-pprequest-filters .text-success {
  border-color: rgba(122, 202, 149, .3);
  background: rgba(79, 163, 109, .18);
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .jlr-pprequest-search > i,
body.jlr-theme-graphite .jlr-pprequest-search-clear {
  color: var(--jlr-text-muted);
}

/* Bootstrap context helpers previously reintroduced the light-theme greens. */
body.jlr-theme-graphite .app-content-container .text-success {
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .app-content-container .text-muted,
body.jlr-theme-graphite .app-content-container .text-secondary {
  color: var(--jlr-text-muted) !important;
}

body.jlr-theme-graphite .app-content-container .text-dark,
body.jlr-theme-graphite .app-content-container .text-body {
  color: var(--jlr-text-primary) !important;
}

body.jlr-theme-graphite .app-content-container .text-info {
  color: #a5d0e2 !important;
}

body.jlr-theme-graphite .app-content-container .text-warning {
  color: #e7c77f !important;
}

body.jlr-theme-graphite .app-content-container .text-danger {
  color: #f0a0a0 !important;
}

body.jlr-theme-graphite .app-content-container .btn-primary .text-success,
body.jlr-theme-graphite .app-content-container .btn-success .text-success,
body.jlr-theme-graphite .app-content-container .jlr-primary-action .text-success {
  color: #fff !important;
}

/* Controller buttons keep their semantic colour without white light-theme tiles. */
body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action {
  border-color: rgba(207, 216, 210, .16) !important;
  background-color: rgba(255, 255, 255, .045) !important;
  background-image: none !important;
  color: #c4cdc7 !important;
  box-shadow: none !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action:hover,
body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action:focus {
  border-color: rgba(122, 202, 149, .34) !important;
  background-color: rgba(79, 163, 109, .17) !important;
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.jlr-action-view {
  border-color: rgba(130, 184, 208, .28) !important;
  background-color: rgba(59, 120, 148, .17) !important;
  color: #a8d2e4 !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.jlr-action-edit {
  border-color: rgba(221, 184, 109, .29) !important;
  background-color: rgba(155, 109, 32, .16) !important;
  color: #e7c982 !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.jlr-action-success {
  border-color: rgba(122, 202, 149, .29) !important;
  background-color: rgba(45, 122, 80, .18) !important;
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.jlr-action-danger {
  border-color: rgba(229, 121, 121, .3) !important;
  background-color: rgba(165, 62, 62, .17) !important;
  color: #ee9b9b !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.jlr-action-document {
  border-color: rgba(185, 160, 220, .3) !important;
  background-color: rgba(105, 83, 142, .17) !important;
  color: #c9b4e7 !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.jlr-action-neutral {
  border-color: rgba(207, 216, 210, .15) !important;
  background-color: rgba(255, 255, 255, .04) !important;
  color: #bdc6c0 !important;
}

body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action.disabled,
body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action[disabled],
body.jlr-theme-graphite .jlr-controls-cell .jlr-row-action[aria-disabled="true"] {
  border-color: rgba(207, 216, 210, .08) !important;
  background-color: rgba(255, 255, 255, .02) !important;
  color: #77817b !important;
}

body.jlr-theme-graphite .jlr-page #pagination a,
body.jlr-theme-graphite .jlr-page #pagination .btn {
  border-color: rgba(207, 216, 210, .14);
  background: rgba(255, 255, 255, .035);
  color: var(--jlr-text-secondary) !important;
}

body.jlr-theme-graphite .jlr-page #pagination a:hover,
body.jlr-theme-graphite .jlr-page #pagination a:focus,
body.jlr-theme-graphite .jlr-page #pagination .btn:hover,
body.jlr-theme-graphite .jlr-page #pagination .btn:focus,
body.jlr-theme-graphite .jlr-page #pagination .text-success {
  border-color: rgba(122, 202, 149, .3);
  background: rgba(79, 163, 109, .2);
  color: var(--jlr-accent-readable) !important;
}

/* Inputs and native date widgets remain legible in Chromium/Opera too. */
body.jlr-theme-graphite .app-content-container .form-control,
body.jlr-theme-graphite .app-content-container .custom-select,
body.jlr-theme-graphite .app-content-container .input-group-text,
body.jlr-theme-graphite .modal .form-control,
body.jlr-theme-graphite .modal .custom-select,
body.jlr-theme-graphite .booking-date-search input {
  border-color: rgba(207, 216, 210, .2) !important;
  background-color: #202622 !important;
  color: var(--jlr-text-primary) !important;
  -webkit-text-fill-color: var(--jlr-text-primary) !important;
  caret-color: var(--jlr-accent-readable);
  opacity: 1;
}

body.jlr-theme-graphite .app-content-container .input-group-text {
  background-color: #2b312d !important;
  color: var(--jlr-text-secondary) !important;
}

body.jlr-theme-graphite .app-content-container .form-control::placeholder,
body.jlr-theme-graphite .modal .form-control::placeholder,
body.jlr-theme-graphite .booking-date-search input::placeholder {
  color: #909c94 !important;
  -webkit-text-fill-color: #909c94 !important;
  opacity: 1;
}

body.jlr-theme-graphite .app-content-container .form-control:focus,
body.jlr-theme-graphite .app-content-container .custom-select:focus,
body.jlr-theme-graphite .modal .form-control:focus,
body.jlr-theme-graphite .booking-date-search input:focus {
  border-color: rgba(122, 202, 149, .65) !important;
  background-color: #252c27 !important;
  color: #fff !important;
  -webkit-text-fill-color: #fff !important;
  box-shadow: 0 0 0 4px rgba(79, 163, 109, .16) !important;
}

body.jlr-theme-graphite .app-content-container .form-control:disabled,
body.jlr-theme-graphite .app-content-container .form-control[readonly],
body.jlr-theme-graphite .modal .form-control:disabled,
body.jlr-theme-graphite .modal .form-control[readonly] {
  border-color: rgba(207, 216, 210, .1) !important;
  background-color: #292f2b !important;
  color: #9ca69f !important;
  -webkit-text-fill-color: #9ca69f !important;
  opacity: 1;
}

body.jlr-theme-graphite select.form-control option,
body.jlr-theme-graphite select.custom-select option {
  background: #252b27;
  color: var(--jlr-text-primary);
}

body.jlr-theme-graphite input[type="date"],
body.jlr-theme-graphite input[type="time"],
body.jlr-theme-graphite input[type="datetime-local"],
body.jlr-theme-graphite input[type="month"] {
  color-scheme: dark !important;
}

body.jlr-theme-graphite input[type="date"]::-webkit-datetime-edit,
body.jlr-theme-graphite input[type="date"]::-webkit-datetime-edit-fields-wrapper,
body.jlr-theme-graphite input[type="date"]::-webkit-datetime-edit-text,
body.jlr-theme-graphite input[type="date"]::-webkit-datetime-edit-month-field,
body.jlr-theme-graphite input[type="date"]::-webkit-datetime-edit-day-field,
body.jlr-theme-graphite input[type="date"]::-webkit-datetime-edit-year-field {
  color: var(--jlr-text-primary) !important;
  -webkit-text-fill-color: var(--jlr-text-primary) !important;
}

body.jlr-theme-graphite input[type="date"]::-webkit-calendar-picker-indicator,
body.jlr-theme-graphite input[type="time"]::-webkit-calendar-picker-indicator,
body.jlr-theme-graphite input[type="datetime-local"]::-webkit-calendar-picker-indicator,
body.jlr-theme-graphite input[type="month"]::-webkit-calendar-picker-indicator {
  filter: invert(89%) sepia(9%) saturate(236%) hue-rotate(93deg) brightness(104%);
  cursor: pointer;
  opacity: .9;
}

/* Booking-specific states that were still carrying light card backgrounds. */
body.jlr-theme-graphite .booking-date-search {
  border-left-color: rgba(207, 216, 210, .17);
}

body.jlr-theme-graphite .booking-date-search label,
body.jlr-theme-graphite .booking-date-search label i {
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .booking-nav-button.booking-date-search-button {
  border-color: rgba(100, 183, 129, .28);
  background: rgba(45, 122, 80, .2);
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .booking-nav-button.booking-date-search-button:hover,
body.jlr-theme-graphite .booking-nav-button.booking-date-search-button:focus {
  border-color: rgba(122, 202, 149, .46);
  background: rgba(79, 163, 109, .24);
  color: #d9f2e2 !important;
}

body.jlr-theme-graphite .booking-access-badge strong,
body.jlr-theme-graphite .booking-empty-state strong,
body.jlr-theme-graphite .booking-search-empty strong,
body.jlr-theme-graphite .booking-vehicle-summary strong {
  color: var(--jlr-text-primary);
}

body.jlr-theme-graphite .booking-access-badge small,
body.jlr-theme-graphite .booking-auto-rule,
body.jlr-theme-graphite .booking-empty-state,
body.jlr-theme-graphite .booking-search-empty,
body.jlr-theme-graphite .booking-vehicle-summary small {
  color: var(--jlr-text-muted);
}

body.jlr-theme-graphite .booking-approval-badge,
body.jlr-theme-graphite .booking-rule-notice,
body.jlr-theme-graphite .booking-focus-banner {
  border-color: rgba(221, 184, 109, .3);
  background: rgba(155, 109, 32, .17);
  color: #e8cc91;
}

body.jlr-theme-graphite .booking-rule-notice strong,
body.jlr-theme-graphite .booking-focus-copy strong,
body.jlr-theme-graphite .booking-focus-copy small {
  color: #f0d79f;
}

body.jlr-theme-graphite .booking-focus-banner.is-unavailable {
  border-color: rgba(229, 121, 121, .3);
  background: rgba(165, 62, 62, .17);
  color: #f0aaaa;
}

body.jlr-theme-graphite .booking-focus-banner.is-unavailable .booking-focus-copy strong,
body.jlr-theme-graphite .booking-focus-banner.is-unavailable .booking-focus-copy small {
  color: #f2b1b1;
}

body.jlr-theme-graphite .booking-focus-reset,
body.jlr-theme-graphite .booking-search-clear,
body.jlr-theme-graphite .booking-search-empty button {
  border-color: rgba(207, 216, 210, .16);
  background: rgba(255, 255, 255, .055);
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .booking-focus-reset:hover,
body.jlr-theme-graphite .booking-focus-reset:focus,
body.jlr-theme-graphite .booking-search-clear:hover,
body.jlr-theme-graphite .booking-search-clear:focus,
body.jlr-theme-graphite .booking-search-empty button:hover,
body.jlr-theme-graphite .booking-search-empty button:focus {
  border-color: rgba(122, 202, 149, .34);
  background: rgba(79, 163, 109, .18);
  color: var(--jlr-accent-readable);
}

body.jlr-theme-graphite .booking-status-badge {
  border-color: rgba(221, 184, 109, .3);
  background: rgba(155, 109, 32, .18);
  color: #e7c987;
}

body.jlr-theme-graphite .booking-status-badge.is-approved {
  border-color: rgba(100, 183, 129, .3);
  background: rgba(45, 122, 80, .2);
  color: var(--jlr-accent-readable);
}

body.jlr-theme-graphite .booking-vehicle-summary {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(255, 255, 255, .04);
}

body.jlr-theme-graphite .booking-modal-content .btn-light {
  border-color: rgba(207, 216, 210, .18) !important;
  background: rgba(255, 255, 255, .055) !important;
  color: var(--jlr-text-secondary) !important;
}

body.jlr-theme-graphite .booking-modal-content .btn-success {
  border-color: #397f54 !important;
  background: linear-gradient(135deg, #347b50, #235f3c) !important;
  color: #fff !important;
}

body.jlr-theme-graphite .booking-modal-content .btn-success:hover,
body.jlr-theme-graphite .booking-modal-content .btn-success:focus,
body.jlr-theme-graphite .booking-modal-content .btn-success:not(:disabled):not(.disabled):active {
  border-color: #4c9667 !important;
  background: linear-gradient(135deg, #397f54, #2f7048) !important;
  color: #fff !important;
}

body.jlr-theme-graphite .booking-modal-content .btn-light:hover,
body.jlr-theme-graphite .booking-modal-content .btn-light:focus,
body.jlr-theme-graphite .booking-modal-content .btn-light:not(:disabled):not(.disabled):active {
  border-color: rgba(122, 202, 149, .36) !important;
  background: rgba(79, 163, 109, .18) !important;
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .booking-modal-content .btn-outline-danger {
  border-color: rgba(229, 121, 121, .36) !important;
  background: rgba(165, 62, 62, .12) !important;
  color: #ee9e9e !important;
}

/* Shared modal actions: dark, readable and stable in every interaction state. */
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary {
  border-color: #397f54 !important;
  background-color: #347b50 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 7px 17px rgba(0, 0, 0, .2) !important;
}

body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary:active,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary.active,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary:not(:disabled):not(.disabled):active {
  border-color: #4c9667 !important;
  background-color: #397f54 !important;
  background-image: none !important;
  color: #fff !important;
  box-shadow: 0 9px 21px rgba(0, 0, 0, .24) !important;
}

body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[data-dismiss="modal"] {
  border-color: rgba(207, 216, 210, .18) !important;
  background-color: rgba(255, 255, 255, .055) !important;
  background-image: none !important;
  color: var(--jlr-text-secondary) !important;
  box-shadow: none !important;
}

body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[data-dismiss="modal"]:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[data-dismiss="modal"]:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[data-dismiss="modal"]:active {
  border-color: rgba(122, 202, 149, .36) !important;
  background-color: rgba(79, 163, 109, .18) !important;
  color: var(--jlr-accent-readable) !important;
}

body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="delete"],
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="reject"],
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="storno"] {
  border-color: #a95056 !important;
  background-color: #8e3d43 !important;
  background-image: none !important;
  color: #fff !important;
}

body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="delete"]:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="delete"]:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="reject"]:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="reject"]:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="storno"]:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-primary[id*="storno"]:focus {
  border-color: #bf6268 !important;
  background-color: #a3474e !important;
  color: #fff !important;
}

body.jlr-theme-graphite .alert-success,
body.jlr-theme-graphite .jlr-ajax-success:not(:empty),
body.jlr-theme-graphite .jlr-page #ajax_response_success:not(:empty) {
  border-color: rgba(122, 202, 149, .28);
  background: rgba(45, 122, 80, .18);
  color: #b7e5c6;
}

body.jlr-theme-graphite .alert-danger,
body.jlr-theme-graphite .jlr-ajax-error:not(:empty),
body.jlr-theme-graphite .jlr-page #ajax_response_error:not(:empty) {
  border-color: rgba(229, 121, 121, .3);
  background: rgba(165, 62, 62, .17);
  color: #f0aaaa;
}

/* Dark surfaces must not pick up Bootstrap's white background helpers. */
body.jlr-theme-graphite .app-content-container .bg-white,
body.jlr-theme-graphite .modal .bg-white {
  background-color: var(--jlr-panel-strong) !important;
}

body.jlr-theme-graphite .app-content-container hr,
body.jlr-theme-graphite .modal hr {
  border-color: rgba(207, 216, 210, .12);
}

/* --------------------------------------------------------------------------
   Shared interaction QA: navbar, filters, statuses and every modal action
   -------------------------------------------------------------------------- */

/* The bundled Bootstrap skin adds a legacy vertical divider to navbar-brand. */
body.jlr-theme .app-navbar-brand {
  border: 0 !important;
  text-shadow: none !important;
}

body.jlr-theme .app-help-nav > .nav-link.is-current::after {
  display: none !important;
}

body.jlr-theme-light .app-navbar .app-version-item,
body.jlr-theme-light .app-navbar .app-version-item:hover,
body.jlr-theme-light .app-navbar .app-version-item:focus {
  background: transparent;
  color: #718077;
}

body.jlr-theme-graphite .app-navbar .app-version-item,
body.jlr-theme-graphite .app-navbar .app-version-item:hover,
body.jlr-theme-graphite .app-navbar .app-version-item:focus {
  background: transparent;
  color: #9da7a1;
}

body.jlr-theme .app-content-container .btn,
body.jlr-theme .app-content-container button,
body.jlr-theme .app-navbar button {
  text-shadow: none !important;
}

body.jlr-theme .jlr-primary-action i,
body.jlr-theme .jlr-primary-action span,
body.jlr-theme .jlr-secondary-action i,
body.jlr-theme .jlr-secondary-action span,
body.jlr-theme .jlr-export-button i,
body.jlr-theme .jlr-export-button span,
body.jlr-theme .jlr-segment-button i,
body.jlr-theme .jlr-segment-button span,
body.jlr-theme [class*="-modal-button"] i,
body.jlr-theme [class*="-modal-button"] span,
body.jlr-theme .request-modal-primary i,
body.jlr-theme .request-modal-primary span,
body.jlr-theme .request-modal-secondary i,
body.jlr-theme .request-modal-secondary span,
body.jlr-theme .request-modal-success i,
body.jlr-theme .request-modal-success span,
body.jlr-theme .request-modal-danger i,
body.jlr-theme .request-modal-danger span {
  color: inherit !important;
}

body.jlr-theme .modal .modal-footer {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 9px;
}

body.jlr-theme .modal .modal-footer .btn,
body.jlr-theme .modal .modal-footer [class*="-modal-button"],
body.jlr-theme .modal .modal-footer .request-modal-primary,
body.jlr-theme .modal .modal-footer .request-modal-secondary,
body.jlr-theme .modal .modal-footer .request-modal-success,
body.jlr-theme .modal .modal-footer .request-modal-danger {
  display: inline-flex !important;
  flex: 0 0 142px !important;
  width: 142px !important;
  min-width: 142px !important;
  min-height: 42px;
  align-items: center;
  justify-content: center;
  gap: 7px;
  margin: 0 !important;
  padding: 0 14px !important;
  border-radius: 11px !important;
  background-image: none !important;
  box-shadow: none;
  font-size: 12px;
  font-weight: 750;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
}

body.jlr-theme .modal .modal-footer .btn i,
body.jlr-theme .modal .modal-footer .btn span,
body.jlr-theme .modal .modal-footer [class*="-modal-button"] i,
body.jlr-theme .modal .modal-footer [class*="-modal-button"] span {
  color: inherit !important;
}

/* Light primary actions. */
body.jlr-theme-light .modal .modal-footer .users-modal-button.is-primary,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-primary,
body.jlr-theme-light .modal .modal-footer .request-modal-primary,
body.jlr-theme-light .modal .modal-footer .request-modal-success,
body.jlr-theme-light .modal .modal-footer .btn.btn-success {
  border-color: #258f24 !important;
  background-color: #258f24 !important;
  color: #fff !important;
}

body.jlr-theme-light .modal .modal-footer .users-modal-button.is-primary:hover,
body.jlr-theme-light .modal .modal-footer .users-modal-button.is-primary:focus,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-primary:hover,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-primary:focus,
body.jlr-theme-light .modal .modal-footer .request-modal-primary:hover,
body.jlr-theme-light .modal .modal-footer .request-modal-primary:focus,
body.jlr-theme-light .modal .modal-footer .request-modal-success:hover,
body.jlr-theme-light .modal .modal-footer .request-modal-success:focus,
body.jlr-theme-light .modal .modal-footer .btn.btn-success:hover,
body.jlr-theme-light .modal .modal-footer .btn.btn-success:focus {
  border-color: #196718 !important;
  background-color: #196718 !important;
  color: #fff !important;
  box-shadow: 0 9px 20px rgba(25, 103, 24, .2) !important;
}

/* Light secondary/cancel actions stay readable on hover. */
body.jlr-theme-light .modal .modal-footer .users-modal-button.is-secondary,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-secondary,
body.jlr-theme-light .modal .modal-footer .request-modal-secondary,
body.jlr-theme-light .modal .modal-footer .btn.btn-secondary,
body.jlr-theme-light .modal .modal-footer .btn.btn-light {
  border-color: #ccd7ce !important;
  background-color: #f5f8f5 !important;
  color: #4f5f54 !important;
}

body.jlr-theme-light .modal .modal-footer .users-modal-button.is-secondary:hover,
body.jlr-theme-light .modal .modal-footer .users-modal-button.is-secondary:focus,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-secondary:hover,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-secondary:focus,
body.jlr-theme-light .modal .modal-footer .request-modal-secondary:hover,
body.jlr-theme-light .modal .modal-footer .request-modal-secondary:focus,
body.jlr-theme-light .modal .modal-footer .btn.btn-secondary:hover,
body.jlr-theme-light .modal .modal-footer .btn.btn-secondary:focus,
body.jlr-theme-light .modal .modal-footer .btn.btn-light:hover,
body.jlr-theme-light .modal .modal-footer .btn.btn-light:focus {
  border-color: rgba(37, 143, 36, .34) !important;
  background-color: #edf5ee !important;
  color: #196718 !important;
  box-shadow: 0 0 0 3px rgba(37, 143, 36, .1) !important;
}

/* Destructive actions are identical in every module. */
body.jlr-theme-light .modal .modal-footer .users-modal-button.is-danger,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-danger,
body.jlr-theme-light .modal .modal-footer .request-modal-danger,
body.jlr-theme-light .modal .modal-footer .btn.btn-danger,
body.jlr-theme-light .modal .modal-footer .btn.btn-outline-danger {
  border-color: #c84949 !important;
  background-color: #c84949 !important;
  color: #fff !important;
}

body.jlr-theme-light .modal .modal-footer .users-modal-button.is-danger:hover,
body.jlr-theme-light .modal .modal-footer .users-modal-button.is-danger:focus,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-danger:hover,
body.jlr-theme-light .modal .modal-footer .models-modal-button.is-danger:focus,
body.jlr-theme-light .modal .modal-footer .request-modal-danger:hover,
body.jlr-theme-light .modal .modal-footer .request-modal-danger:focus,
body.jlr-theme-light .modal .modal-footer .btn.btn-danger:hover,
body.jlr-theme-light .modal .modal-footer .btn.btn-danger:focus,
body.jlr-theme-light .modal .modal-footer .btn.btn-outline-danger:hover,
body.jlr-theme-light .modal .modal-footer .btn.btn-outline-danger:focus {
  border-color: #a73737 !important;
  background-color: #a73737 !important;
  color: #fff !important;
}

/* Graphite modal buttons use the same semantics with dark-theme contrast. */
body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-primary,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-primary,
body.jlr-theme-graphite .modal .modal-footer .request-modal-primary,
body.jlr-theme-graphite .modal .modal-footer .request-modal-success,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-success {
  border-color: #397f54 !important;
  background-color: #347b50 !important;
  color: #fff !important;
}

body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-primary:hover,
body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-primary:focus,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-primary:hover,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-primary:focus,
body.jlr-theme-graphite .modal .modal-footer .request-modal-primary:hover,
body.jlr-theme-graphite .modal .modal-footer .request-modal-primary:focus,
body.jlr-theme-graphite .modal .modal-footer .request-modal-success:hover,
body.jlr-theme-graphite .modal .modal-footer .request-modal-success:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-success:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-success:focus {
  border-color: #4c9667 !important;
  background-color: #397f54 !important;
  color: #fff !important;
}

body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-secondary,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-secondary,
body.jlr-theme-graphite .modal .modal-footer .request-modal-secondary,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-secondary,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-light {
  border-color: rgba(207, 216, 210, .18) !important;
  background-color: rgba(255, 255, 255, .055) !important;
  color: #c4cbc6 !important;
}

body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-secondary:hover,
body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-secondary:focus,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-secondary:hover,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-secondary:focus,
body.jlr-theme-graphite .modal .modal-footer .request-modal-secondary:hover,
body.jlr-theme-graphite .modal .modal-footer .request-modal-secondary:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-secondary:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-secondary:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-light:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-light:focus {
  border-color: rgba(122, 202, 149, .36) !important;
  background-color: rgba(79, 163, 109, .18) !important;
  color: #a5ddb8 !important;
}

body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-danger,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-danger,
body.jlr-theme-graphite .modal .modal-footer .request-modal-danger,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-danger,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-outline-danger {
  border-color: #a95056 !important;
  background-color: #8e3d43 !important;
  color: #fff !important;
}

body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-danger:hover,
body.jlr-theme-graphite .modal .modal-footer .users-modal-button.is-danger:focus,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-danger:hover,
body.jlr-theme-graphite .modal .modal-footer .models-modal-button.is-danger:focus,
body.jlr-theme-graphite .modal .modal-footer .request-modal-danger:hover,
body.jlr-theme-graphite .modal .modal-footer .request-modal-danger:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-danger:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-danger:focus,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-outline-danger:hover,
body.jlr-theme-graphite .modal .modal-footer .btn.btn-outline-danger:focus {
  border-color: #bf6268 !important;
  background-color: #a3474e !important;
  color: #fff !important;
}

body.jlr-theme-graphite .jlr-toolbar-search input {
  border-color: rgba(207, 216, 210, .17);
  background-color: rgba(24, 29, 26, .82);
  color: #edf0ed;
}

body.jlr-theme-graphite .jlr-toolbar-search input::placeholder {
  color: #7f8b84;
}

body.jlr-theme-graphite .jlr-toolbar-search input:focus {
  border-color: rgba(100, 183, 129, .52);
  background-color: rgba(27, 33, 29, .96);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(45, 122, 80, .14);
}

body.jlr-theme-graphite .jlr-toolbar-search > i,
body.jlr-theme-graphite .jlr-toolbar-search-clear,
body.jlr-theme-graphite .jlr-list-meta,
body.jlr-theme-graphite .jlr-list-meta-hint,
body.jlr-theme-graphite .jlr-entity-meta {
  color: #9da7a1;
}

body.jlr-theme-graphite .jlr-entity-name,
body.jlr-theme-graphite .jlr-list-meta strong {
  color: #edf0ed;
}

body.jlr-theme-graphite .jlr-entity-icon,
body.jlr-theme-graphite .jlr-status-badge {
  border-color: rgba(100, 183, 129, .23);
  background: rgba(45, 122, 80, .18);
  color: #9dd6b0;
}

body.jlr-theme-graphite .jlr-status-badge.is-inactive {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(255, 255, 255, .045);
  color: #aeb6b0;
}

body.jlr-theme-graphite .jlr-page-button {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(255, 255, 255, .03);
  color: #aeb6b0 !important;
}

body.jlr-theme-graphite .jlr-page-button:hover,
body.jlr-theme-graphite .jlr-page-button:focus,
body.jlr-theme-graphite .jlr-page-button.is-current {
  border-color: rgba(100, 183, 129, .28);
  background: rgba(45, 122, 80, .22);
  color: #9bd5af !important;
}

/* --------------------------------------------------------------------------
   Core Requests + PP Requests modal contrast audit
   -------------------------------------------------------------------------- */

body.jlr-theme .requests-page .jlr-modal,
body.jlr-theme .jlr-pprequests-page .jlr-modal {
  text-shadow: none;
}

body.jlr-theme .requests-page .jlr-modal .modal-body .btn,
body.jlr-theme .jlr-pprequests-page .jlr-modal .modal-body .btn,
body.jlr-theme .requests-page .jlr-modal .modal-body .jlr-modal-inline-action,
body.jlr-theme .jlr-pprequests-page .jlr-modal .modal-body .jlr-modal-inline-action {
  background-image: none !important;
  text-shadow: none !important;
}

/* The previous light-theme green was slightly too bright for small white
 * button labels. This request-modal green clears normal-text contrast. */
body.jlr-theme-light .requests-page .jlr-modal .modal-footer .request-modal-primary,
body.jlr-theme-light .requests-page .jlr-modal .modal-footer .request-modal-success,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-footer .request-modal-primary,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-footer .request-modal-success,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body .btn.btn-primary {
  border-color: #237b2c !important;
  background-color: #237b2c !important;
  color: #fff !important;
}

body.jlr-theme-light .requests-page .jlr-modal .modal-footer .request-modal-primary:hover,
body.jlr-theme-light .requests-page .jlr-modal .modal-footer .request-modal-primary:focus,
body.jlr-theme-light .requests-page .jlr-modal .modal-footer .request-modal-success:hover,
body.jlr-theme-light .requests-page .jlr-modal .modal-footer .request-modal-success:focus,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-footer .request-modal-primary:hover,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-footer .request-modal-primary:focus,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-footer .request-modal-success:hover,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-footer .request-modal-success:focus,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body .btn.btn-primary:hover,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body .btn.btn-primary:focus {
  border-color: #196718 !important;
  background-color: #196718 !important;
  color: #fff !important;
}

/* Light modal copy: Bootstrap's text-white must not disappear on white. */
body.jlr-theme-light .requests-page .jlr-modal .modal-body,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body,
body.jlr-theme-light .requests-page .jlr-modal .modal-body p,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body p,
body.jlr-theme-light .requests-page .jlr-modal .modal-body td,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body td,
body.jlr-theme-light .requests-page .jlr-modal .modal-body strong,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body strong {
  color: #26372c;
}

body.jlr-theme-light .requests-page .jlr-modal .modal-body label,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body label,
body.jlr-theme-light .requests-page .jlr-modal .modal-body th,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body th,
body.jlr-theme-light .requests-page .jlr-modal .modal-body small,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body small,
body.jlr-theme-light .requests-page .jlr-modal .modal-body .form-text,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body .form-text,
body.jlr-theme-light .requests-page .jlr-modal .modal-body .help-block,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .modal-body .help-block {
  color: #617168;
}

body.jlr-theme-light .requests-page .jlr-modal .text-success,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-success {
  color: #23752d !important;
}

body.jlr-theme-light .requests-page .jlr-modal .text-primary,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-primary {
  color: #286c31 !important;
}

body.jlr-theme-light .requests-page .jlr-modal .text-info,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-info {
  color: #2d6d88 !important;
}

body.jlr-theme-light .requests-page .jlr-modal .text-warning,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-warning {
  color: #875f18 !important;
}

body.jlr-theme-light .requests-page .jlr-modal .text-danger,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-danger,
body.jlr-theme-light .requests-page .jlr-modal label.error,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal label.error {
  color: #aa3939 !important;
}

body.jlr-theme-light .requests-page .jlr-modal .text-muted,
body.jlr-theme-light .requests-page .jlr-modal .text-secondary,
body.jlr-theme-light .requests-page .jlr-modal .text-default,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-muted,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-secondary,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-default {
  color: #66756c !important;
}

body.jlr-theme-light .requests-page .jlr-modal .text-white,
body.jlr-theme-light .requests-page .jlr-modal .text-dark,
body.jlr-theme-light .requests-page .jlr-modal .text-body,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-white,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-dark,
body.jlr-theme-light .jlr-pprequests-page .jlr-modal .text-body {
  color: #26372c !important;
}

/* Graphite modal copy uses purpose-built high-contrast semantic colours. */
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body p,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body p,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body td,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body td,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body strong,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body strong {
  color: var(--jlr-text-primary);
}

body.jlr-theme-graphite .requests-page .jlr-modal .modal-body label,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body label,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body th,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body th,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body small,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body small,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body .form-text,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body .form-text,
body.jlr-theme-graphite .requests-page .jlr-modal .modal-body .help-block,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body .help-block {
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-success,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-success {
  color: #b7e5c6 !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-primary,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-primary {
  color: #a5ddb8 !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-info,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-info {
  color: #b5daea !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-warning,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-warning {
  color: #f0d391 !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-danger,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-danger,
body.jlr-theme-graphite .requests-page .jlr-modal label.error,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal label.error {
  color: #f2aaaa !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-muted,
body.jlr-theme-graphite .requests-page .jlr-modal .text-secondary,
body.jlr-theme-graphite .requests-page .jlr-modal .text-default,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-muted,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-secondary,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-default {
  color: #c4cbc6 !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .text-white,
body.jlr-theme-graphite .requests-page .jlr-modal .text-dark,
body.jlr-theme-graphite .requests-page .jlr-modal .text-body,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-white,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-dark,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .text-body {
  color: var(--jlr-text-primary) !important;
}

body.jlr-theme-graphite .requests-page .jlr-modal .modal-body a:not(.btn):not(.jlr-modal-inline-action),
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .modal-body a:not(.btn):not(.jlr-modal-inline-action) {
  color: #b7e5c6;
}

body.jlr-theme-graphite .requests-page .jlr-modal .separator,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-modal .separator {
  border-color: rgba(207, 216, 210, .16) !important;
}

body.jlr-theme-graphite .jlr-modal-inline-action {
  border-color: rgba(207, 216, 210, .18);
  background: rgba(255, 255, 255, .055);
  color: var(--jlr-text-secondary);
}

body.jlr-theme-graphite .jlr-modal-inline-action:hover,
body.jlr-theme-graphite .jlr-modal-inline-action:focus {
  border-color: rgba(122, 202, 149, .4);
  background: rgba(79, 163, 109, .18);
  color: #b7e5c6;
  box-shadow: 0 0 0 3px rgba(79, 163, 109, .13);
}

@media (max-width: 640px) {
  body.jlr-theme .modal .modal-footer .btn,
  body.jlr-theme .modal .modal-footer [class*="-modal-button"],
  body.jlr-theme .modal .modal-footer .request-modal-primary,
  body.jlr-theme .modal .modal-footer .request-modal-secondary,
  body.jlr-theme .modal .modal-footer .request-modal-success,
  body.jlr-theme .modal .modal-footer .request-modal-danger {
    flex: 1 1 100% !important;
    width: 100% !important;
    min-width: 0 !important;
  }
}

@media (max-width: 1199.98px) {
  body.jlr-theme-graphite .app-navbar .dropdown-menu {
    background: rgba(42, 47, 44, .985);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.jlr-theme,
  .app-theme-option {
    transition: none;
  }
}

/* Typography must remain crisp in every legacy and redesigned view. The
 * application previously inherited Bootstrap/theme text shadows outside the
 * main glass panels, so the reset deliberately covers the complete themed
 * document, including icon and control pseudo-elements. */
body.jlr-theme,
body.jlr-theme *,
body.jlr-theme *::before,
body.jlr-theme *::after {
  text-shadow: none !important;
}

/* --------------------------------------------------------------------------
   v5.2.9 pagination and request-filter consistency
   -------------------------------------------------------------------------- */

/* The legacy Core and PP Request endpoints still emit Bootstrap btn-primary.
 * Explicit theme states prevent Bootstrap blue from leaking into Light mode. */
body.jlr-theme-light .requests-page .request-filter-list .status_item,
body.jlr-theme-light .requests-page .request-filter-list .date_item,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .status_item,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .date_item {
  border-color: #d2ddd4 !important;
  background-color: rgba(255, 255, 255, .82) !important;
  background-image: none !important;
  color: #56655c !important;
  box-shadow: none !important;
}

body.jlr-theme-light .requests-page .request-filter-list .status_item:hover,
body.jlr-theme-light .requests-page .request-filter-list .status_item:focus,
body.jlr-theme-light .requests-page .request-filter-list .status_item:active,
body.jlr-theme-light .requests-page .request-filter-list .date_item:hover,
body.jlr-theme-light .requests-page .request-filter-list .date_item:focus,
body.jlr-theme-light .requests-page .request-filter-list .date_item:active,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .status_item:hover,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .status_item:focus,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .status_item:active,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .date_item:hover,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .date_item:focus,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .date_item:active {
  border-color: #8eaa92 !important;
  background-color: #f0f7f1 !important;
  background-image: none !important;
  color: #245c2b !important;
  box-shadow: 0 0 0 3px rgba(37, 143, 36, .09) !important;
}

body.jlr-theme-light .requests-page .request-filter-list .status_item.text-success,
body.jlr-theme-light .requests-page .request-filter-list .date_item.text-success,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .status_item.text-success,
body.jlr-theme-light .jlr-pprequests-page .jlr-pprequest-filters .date_item.text-success {
  border-color: #5b9862 !important;
  background-color: #e8f4ea !important;
  background-image: none !important;
  color: #1f6328 !important;
  box-shadow: inset 0 0 0 1px rgba(37, 143, 36, .06) !important;
}

/* Every AJAX and locally generated paginator now uses the same graphite
 * surface, hover and selected-page treatment. */
body.jlr-theme-graphite .jlr-pagination .item_pagination,
body.jlr-theme-graphite .models-pagination .item_pagination,
body.jlr-theme-graphite .users-pagination .item_pagination,
body.jlr-theme-graphite .requests-pagination .item_pagination,
body.jlr-theme-graphite .jlr-page #pagination .item_pagination {
  border-color: rgba(207, 216, 210, .15) !important;
  background-color: rgba(255, 255, 255, .045) !important;
  background-image: none !important;
  color: #c0c8c2 !important;
  box-shadow: none !important;
}

body.jlr-theme-graphite .jlr-pagination .item_pagination:hover,
body.jlr-theme-graphite .jlr-pagination .item_pagination:focus,
body.jlr-theme-graphite .models-pagination .item_pagination:hover,
body.jlr-theme-graphite .models-pagination .item_pagination:focus,
body.jlr-theme-graphite .users-pagination .item_pagination:hover,
body.jlr-theme-graphite .users-pagination .item_pagination:focus,
body.jlr-theme-graphite .requests-pagination .item_pagination:hover,
body.jlr-theme-graphite .requests-pagination .item_pagination:focus,
body.jlr-theme-graphite .jlr-page #pagination .item_pagination:hover,
body.jlr-theme-graphite .jlr-page #pagination .item_pagination:focus {
  border-color: rgba(122, 202, 149, .38) !important;
  background-color: rgba(79, 163, 109, .19) !important;
  color: var(--jlr-accent-strong) !important;
  outline: 0;
}

body.jlr-theme-graphite .jlr-pagination .item_pagination.text-success,
body.jlr-theme-graphite .jlr-pagination .item_pagination.is-current,
body.jlr-theme-graphite .jlr-pagination .item_pagination[aria-current="page"],
body.jlr-theme-graphite .models-pagination .item_pagination.is-current,
body.jlr-theme-graphite .users-pagination .item_pagination.is-current,
body.jlr-theme-graphite .requests-pagination .item_pagination.text-success,
body.jlr-theme-graphite .jlr-page #pagination .item_pagination.text-success,
body.jlr-theme-graphite .jlr-page #pagination .item_pagination.is-current {
  border-color: #67ad7d !important;
  background-color: #3f8759 !important;
  color: #fff !important;
  box-shadow: 0 7px 17px rgba(0, 0, 0, .24) !important;
}

/* Match the same non-blue interaction states in Graphite too, including the
 * transient :active state before the AJAX response replaces the button. */
body.jlr-theme-graphite .requests-page .request-filter-list .status_item,
body.jlr-theme-graphite .requests-page .request-filter-list .date_item,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .status_item,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .date_item {
  background-image: none !important;
  box-shadow: none !important;
}

body.jlr-theme-graphite .requests-page .request-filter-list .status_item:hover,
body.jlr-theme-graphite .requests-page .request-filter-list .status_item:focus,
body.jlr-theme-graphite .requests-page .request-filter-list .status_item:active,
body.jlr-theme-graphite .requests-page .request-filter-list .date_item:hover,
body.jlr-theme-graphite .requests-page .request-filter-list .date_item:focus,
body.jlr-theme-graphite .requests-page .request-filter-list .date_item:active,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .status_item:hover,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .status_item:focus,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .status_item:active,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .date_item:hover,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .date_item:focus,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .date_item:active {
  border-color: rgba(122, 202, 149, .38) !important;
  background-color: rgba(79, 163, 109, .19) !important;
  background-image: none !important;
  color: var(--jlr-accent-strong) !important;
  box-shadow: 0 0 0 3px rgba(79, 163, 109, .12) !important;
}

body.jlr-theme-graphite .requests-page .request-filter-list .status_item.text-success,
body.jlr-theme-graphite .requests-page .request-filter-list .date_item.text-success,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .status_item.text-success,
body.jlr-theme-graphite .jlr-pprequests-page .jlr-pprequest-filters .date_item.text-success {
  border-color: rgba(122, 202, 149, .46) !important;
  background-color: rgba(79, 163, 109, .25) !important;
  background-image: none !important;
  color: var(--jlr-accent-strong) !important;
}

/* Shared error surface: preserve contrast in both selectable themes. */
body.jlr-theme-graphite .jlr-error-card {
  border-color: rgba(229, 113, 130, .28);
  background: rgba(30, 36, 32, .985);
  color: #e1e8e3;
  box-shadow: 0 24px 62px rgba(0, 0, 0, .48);
}

body.jlr-theme-graphite .jlr-error-card__header {
  border-bottom-color: rgba(229, 113, 130, .15);
  background: linear-gradient(135deg, rgba(177, 61, 79, .2), rgba(30, 36, 32, 0));
}

body.jlr-theme-graphite .jlr-error-card__icon {
  border-color: rgba(238, 126, 142, .25);
  background: rgba(177, 61, 79, .2);
  color: #f08b9a;
}

body.jlr-theme-graphite .jlr-error-card__heading strong {
  color: #f3a0ad;
}

body.jlr-theme-graphite .jlr-error-card__heading p {
  color: #d3dcd6;
}

body.jlr-theme-graphite .jlr-error-card__close {
  color: #aeb9b2;
}

body.jlr-theme-graphite .jlr-error-card__close:hover,
body.jlr-theme-graphite .jlr-error-card__close:focus {
  border-color: rgba(238, 126, 142, .22);
  background: rgba(177, 61, 79, .18);
  color: #f3a0ad;
}

body.jlr-theme-graphite .jlr-error-card__details {
  border-color: rgba(210, 220, 213, .15);
  background: rgba(8, 12, 10, .24);
}

body.jlr-theme-graphite .jlr-error-card__details summary {
  color: #d5ded8;
}

body.jlr-theme-graphite .jlr-error-card__details pre {
  color: #c5d0c9;
}

body.jlr-theme-graphite .jlr-error-card__copy {
  border-color: rgba(116, 196, 143, .3);
  background: rgba(79, 163, 109, .18);
  color: #9ed8b1;
}

body.jlr-theme-graphite .jlr-error-card__copy:hover,
body.jlr-theme-graphite .jlr-error-card__copy:focus,
body.jlr-theme-graphite .jlr-error-card__copy.is-copied {
  border-color: rgba(116, 196, 143, .5);
  background: rgba(79, 163, 109, .29);
  color: #c0e8cd;
}

body.jlr-theme-graphite .jlr-inline-error-details {
  border-color: rgba(229, 113, 130, .24);
  background: rgba(118, 39, 54, .13);
}

body.jlr-theme-graphite .jlr-inline-error-details summary {
  color: #f0a0ad;
}

body.jlr-theme-graphite .jlr-inline-error-details pre {
  color: #d6deda;
}

body.jlr-theme-graphite .jlr-inline-error-copy {
  border-color: rgba(116, 196, 143, .3);
  background: rgba(79, 163, 109, .18);
  color: #a8ddb9;
}

body.jlr-theme-graphite .jlr-auth-email-hint {
  border-color: rgba(216, 176, 95, .22);
  background: rgba(138, 99, 31, .15);
  color: #e3c98f;
}

body.jlr-theme-graphite .jlr-auth-email-hint > i {
  color: #e1b963;
}

body.jlr-theme-graphite .jlr-pwa-panel {
  border-color: rgba(116, 196, 143, .2);
  background: linear-gradient(145deg, rgba(41, 63, 49, .72), rgba(31, 39, 34, .9));
}

body.jlr-theme-graphite .jlr-pwa-panel__icon {
  border-color: rgba(116, 196, 143, .2);
  background: rgba(255, 255, 255, .055);
  color: #9ed8b1;
}

body.jlr-theme-graphite .jlr-auth-card .jlr-pwa-panel h2 {
  color: #f0f4f1;
}

body.jlr-theme-graphite .jlr-pwa-panel__header p {
  color: #b8c4bc;
}

body.jlr-theme-graphite .jlr-pwa-install-button {
  border-color: #4f9e69;
  background: #3f8757;
  color: #fff;
}

body.jlr-theme-graphite .jlr-pwa-install-button:hover,
body.jlr-theme-graphite .jlr-pwa-install-button:focus {
  border-color: #72bd8b;
  background: #4d9b66;
  color: #fff;
}

body.jlr-theme-graphite .jlr-pwa-guide {
  border-color: rgba(116, 196, 143, .16);
}

body.jlr-theme-graphite .jlr-pwa-guide summary {
  color: #a8ddb9;
}

body.jlr-theme-graphite .jlr-pwa-guide li {
  color: #c7d0ca;
}

body.jlr-theme-graphite .jlr-pwa-guide li > i,
body.jlr-theme-graphite .jlr-pwa-guide__security > i {
  color: #8ecda3;
}

body.jlr-theme-graphite .jlr-pwa-guide__security {
  border-color: rgba(116, 196, 143, .17);
  color: #aebbb2;
}

/* v5.4.0 Vector trip log: full Graphite contrast contract. */
body.jlr-theme-graphite .vector-filter-field > span,
body.jlr-theme-graphite .vector-form-field > span,
body.jlr-theme-graphite .vector-modal-title small,
body.jlr-theme-graphite .vector-scan-header p {
  color: #aab4ad;
}

body.jlr-theme-graphite .vector-filter-field input,
body.jlr-theme-graphite .vector-filter-field select,
body.jlr-theme-graphite .vector-form-field input,
body.jlr-theme-graphite .vector-form-field select,
body.jlr-theme-graphite .vector-form-field textarea {
  border-color: rgba(207, 216, 210, .17);
  background: rgba(24, 29, 26, .82);
  color: #edf0ed;
}

body.jlr-theme-graphite .vector-filter-field input:focus,
body.jlr-theme-graphite .vector-filter-field select:focus,
body.jlr-theme-graphite .vector-form-field input:focus,
body.jlr-theme-graphite .vector-form-field select:focus,
body.jlr-theme-graphite .vector-form-field textarea:focus {
  border-color: rgba(100, 183, 129, .52);
  background: rgba(27, 33, 29, .96);
  color: #fff;
  box-shadow: 0 0 0 4px rgba(45, 122, 80, .14);
}

body.jlr-theme-graphite .vector-filter-field option,
body.jlr-theme-graphite .vector-form-field option {
  background: #252b27;
  color: #edf0ed;
}

body.jlr-theme-graphite .vector-date,
body.jlr-theme-graphite .vector-distance,
body.jlr-theme-graphite .vector-modal-title h5,
body.jlr-theme-graphite .vector-scan-header h1,
body.jlr-theme-graphite .vector-scan-vehicle-copy strong {
  color: #f2f4f2;
}

body.jlr-theme-graphite .vector-purpose-badge {
  background: rgba(83, 126, 101, .2);
  color: #bed2c5;
}

body.jlr-theme-graphite .vector-status-badge.is-open,
body.jlr-theme-graphite .vector-open-marker,
body.jlr-theme-graphite .vector-gap-badge,
body.jlr-theme-graphite .vector-gap-preview {
  background: rgba(155, 109, 32, .21);
  color: #e4c47f;
}

body.jlr-theme-graphite .vector-status-badge.is-closed,
body.jlr-theme-graphite .vector-scan-ready {
  background: rgba(45, 122, 80, .24);
  color: #a5ddb8;
}

body.jlr-theme-graphite .vector-status-badge.is-cancelled {
  background: rgba(165, 62, 62, .2);
  color: #efa0a0;
}

body.jlr-theme-graphite .vector-chain-ok {
  color: #9aaba0;
}

body.jlr-theme-graphite .vector-form-section,
body.jlr-theme-graphite .vector-scan-pane,
body.jlr-theme-graphite .vector-scan-vehicle,
body.jlr-theme-graphite .vector-scan-details {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(31, 37, 33, .82);
  box-shadow: 0 12px 30px rgba(0, 0, 0, .18);
}

body.jlr-theme-graphite .vector-form-section-heading,
body.jlr-theme-graphite .vector-eyebrow {
  color: #93caa5;
}

body.jlr-theme-graphite .vector-choice-card > span {
  border-color: rgba(207, 216, 210, .16);
  background: rgba(255, 255, 255, .035);
  color: #b6c0b9;
}

body.jlr-theme-graphite .vector-choice-card input:checked + span {
  border-color: #4b9b67;
  background: #397e54;
  color: #fff;
}

body.jlr-theme-graphite .vector-input-unit > span {
  border-color: rgba(207, 216, 210, .17);
  background: #303733;
  color: #b5c0b8;
}

body.jlr-theme-graphite .vector-modal .jlr-modal-close {
  color: #c0c8c2;
}

body.jlr-theme-graphite .vector-scan-header-icon {
  background: linear-gradient(135deg, #438e5e, #2d6f48);
}

body.jlr-theme-graphite .vector-scan-vehicle-icon,
body.jlr-theme-graphite .vector-modal-title > span {
  background: rgba(45, 122, 80, .24);
  color: #99d3ad;
}

body.jlr-theme-graphite .vector-scan-vehicle-copy span {
  color: #d4dbd6;
}

body.jlr-theme-graphite .vector-scan-vehicle-copy small {
  color: #9da9a1;
}

body.jlr-theme-graphite .vector-scan-mode {
  border-color: rgba(207, 216, 210, .13);
  background: rgba(17, 22, 19, .63);
}

body.jlr-theme-graphite .vector-scan-mode-button {
  color: #aab4ad;
}

body.jlr-theme-graphite .vector-scan-mode-button.is-selected {
  border-color: rgba(100, 183, 129, .23);
  background: rgba(45, 122, 80, .23);
  color: #a5ddb8;
}

body.jlr-theme-graphite .vector-scan-time,
body.jlr-theme-graphite .vector-detected-values > div {
  border-color: rgba(207, 216, 210, .1);
  background: rgba(255, 255, 255, .04);
  color: #c5cec8;
}

body.jlr-theme-graphite .vector-scan-time strong,
body.jlr-theme-graphite .vector-detected-values strong {
  color: #edf0ed;
}

body.jlr-theme-graphite .vector-scan-details summary,
body.jlr-theme-graphite .vector-scan-empty strong {
  color: #cbd3ce;
}

body.jlr-theme-graphite .vector-scan-help {
  background: rgba(59, 120, 148, .18);
  color: #b4d2df;
}

body.jlr-theme-graphite .vector-open-trip-summary {
  border-color: rgba(100, 183, 129, .18);
  background: rgba(45, 122, 80, .18);
}

body.jlr-theme-graphite .vector-open-trip-summary > div span {
  color: #9eb3a5;
}

body.jlr-theme-graphite .vector-open-trip-summary > div strong {
  color: #dce7df;
}

body.jlr-theme-graphite .vector-open-trip-summary > div small {
  color: #b5c5ba;
}

body.jlr-theme-graphite .vector-scan-back {
  color: #a8b5ac;
}

body.jlr-theme-graphite .vector-scan-back:hover,
body.jlr-theme-graphite .vector-scan-back:focus {
  color: #a5ddb8;
}

body.jlr-theme-graphite .jlr-pagination .jlr-page-button {
  border-color: rgba(207, 216, 210, .15);
  background: rgba(255, 255, 255, .045);
  color: #c0c8c2;
}

body.jlr-theme-graphite .jlr-pagination .jlr-page-button:hover,
body.jlr-theme-graphite .jlr-pagination .jlr-page-button:focus {
  border-color: rgba(122, 202, 149, .38);
  background: rgba(79, 163, 109, .19);
  color: var(--jlr-accent-strong);
}

body.jlr-theme-graphite .jlr-pagination .jlr-page-button.is-current {
  border-color: #67ad7d;
  background: #3f8759;
  color: #fff;
}

/* v5.4.1 Vector continuity and mobile contrast. */
body.jlr-theme-graphite .vector-gap-summary {
  border-color: rgba(224, 103, 116, .28);
  background: linear-gradient(135deg, rgba(91, 35, 44, .72), rgba(52, 30, 33, .78));
  color: #f1b1ba;
  box-shadow: 0 14px 34px rgba(0, 0, 0, .2);
}

body.jlr-theme-graphite .vector-gap-summary:hover,
body.jlr-theme-graphite .vector-gap-summary:focus,
body.jlr-theme-graphite .vector-gap-summary.is-active {
  border-color: rgba(241, 124, 138, .5);
  color: #ffd0d6;
}

body.jlr-theme-graphite .vector-gap-summary-icon,
body.jlr-theme-graphite .vector-gap-summary-action {
  background: rgba(235, 99, 116, .16);
  color: #f0a0ab;
}

body.jlr-theme-graphite .vector-gap-summary-copy strong {
  color: #ffd1d7;
}

body.jlr-theme-graphite .vector-gap-summary-copy > span {
  color: #f1a9b3;
}

body.jlr-theme-graphite .vector-gap-summary-copy small {
  color: #c7a7ab;
}

body.jlr-theme-graphite .vector-form-field > label {
  color: #aab4ad;
}

body.jlr-theme-graphite .vector-vehicle-search-control > i {
  color: #92a097;
}

body.jlr-theme-graphite .vector-form-field .vector-vehicle-search-input.is-invalid {
  border-color: rgba(236, 105, 121, .68);
  background: rgba(82, 31, 39, .78);
  color: #ffdce1;
  box-shadow: 0 0 0 3px rgba(218, 73, 91, .14);
}

body.jlr-theme-graphite .vector-vehicle-search-message.is-error,
body.jlr-theme-graphite .vector-odometer-review-message.is-warning {
  color: #f0a0ab;
}

body.jlr-theme-graphite .vector-odometer-review-message.is-info {
  color: #a9b8af;
}

body.jlr-theme-graphite .vector-odometer-review-message.is-success {
  color: #a5ddb8;
}

body.jlr-theme-graphite .vector-odometer-review-field.is-review-required .vector-input-unit input {
  border-color: #d96376;
  background: rgba(81, 30, 39, .84);
  color: #ffe3e7;
  box-shadow: 0 0 0 4px rgba(217, 83, 105, .13);
}

body.jlr-theme-graphite .vector-odometer-review-field.is-review-required .vector-input-unit > span {
  border-color: #d96376;
  background: rgba(123, 45, 58, .86);
  color: #ffc5ce;
}

body.jlr-theme-graphite .vector-gap-row > td {
  background: rgba(103, 37, 48, .42) !important;
}

body.jlr-theme-graphite .vector-gap-context-row > td {
  background: rgba(94, 72, 34, .22) !important;
}

/* v5.5.0 Vector reviewed correction/deletion workflow. */
body.jlr-theme-graphite .vector-request-queue {
  border-color: rgba(222, 179, 92, .24);
  background: linear-gradient(135deg, rgba(75, 58, 29, .76), rgba(35, 38, 33, .9));
  box-shadow: 0 14px 34px rgba(0, 0, 0, .22);
}

body.jlr-theme-graphite .vector-request-queue-heading strong,
body.jlr-theme-graphite .vector-request-queue-item strong,
body.jlr-theme-graphite .vector-review-summary strong {
  color: #edf0ed;
}

body.jlr-theme-graphite .vector-request-queue-heading span,
body.jlr-theme-graphite .vector-request-queue-item small,
body.jlr-theme-graphite .vector-review-summary small {
  color: #b6c0b9;
}

body.jlr-theme-graphite .vector-request-queue-icon,
body.jlr-theme-graphite .vector-change-status.is-pending,
body.jlr-theme-graphite .vector-request-locked {
  border-color: rgba(226, 181, 91, .22);
  background: rgba(155, 109, 32, .24);
  color: #e7c77e;
}

body.jlr-theme-graphite .vector-request-queue-item,
body.jlr-theme-graphite .vector-review-summary,
body.jlr-theme-graphite .vector-request-reason,
body.jlr-theme-graphite #VectorRequestModal #vector-request-edit-fields .vector-trip-form > .vector-form-field.is-block {
  border-color: rgba(207, 216, 210, .14);
  background: rgba(255, 255, 255, .045);
}

body.jlr-theme-graphite .vector-request-queue-item:hover,
body.jlr-theme-graphite .vector-request-queue-item:focus {
  border-color: rgba(100, 183, 129, .35);
  background: rgba(45, 122, 80, .16);
}

body.jlr-theme-graphite .vector-request-queue-item > i,
body.jlr-theme-graphite .vector-change-status.is-approved {
  color: #9ed6b1;
}

body.jlr-theme-graphite .vector-change-status.is-approved {
  background: rgba(45, 122, 80, .24);
}

body.jlr-theme-graphite .vector-change-status.is-rejected {
  background: rgba(165, 62, 62, .22);
  color: #efa0a0;
}

body.jlr-theme-graphite .vector-choice-card.is-danger input:checked + span {
  border-color: rgba(224, 103, 116, .45);
  background: rgba(123, 45, 58, .72);
  color: #ffc5ce;
}

body.jlr-theme-graphite .vector-request-reason small {
  color: #9da9a1;
}

body.jlr-theme-graphite .vector-review-reason-card {
  border-color: rgba(226, 181, 91, .2);
  background: rgba(94, 72, 34, .28);
}

body.jlr-theme-graphite .vector-review-reason-card strong {
  color: #e7c77e;
}

body.jlr-theme-graphite .vector-review-reason-card p {
  color: #d8c9a8;
}

body.jlr-theme-graphite .vector-review-comparison {
  border-color: rgba(207, 216, 210, .14);
}

body.jlr-theme-graphite .vector-review-table {
  background: rgba(24, 29, 26, .82);
}

body.jlr-theme-graphite .vector-review-table th,
body.jlr-theme-graphite .vector-review-table td {
  border-bottom-color: rgba(207, 216, 210, .1);
  color: #e4e9e5;
}

body.jlr-theme-graphite .vector-review-table thead th {
  background: rgba(255, 255, 255, .055);
  color: #aab4ad;
}

body.jlr-theme-graphite .vector-review-table tbody th {
  color: #aab4ad;
}

body.jlr-theme-graphite .vector-review-table tr.is-changed td:last-child {
  background: rgba(45, 122, 80, .18);
  color: #a5ddb8;
}

body.jlr-theme-graphite .vector-review-delete-notice {
  border-color: rgba(224, 103, 116, .28);
  background: rgba(103, 37, 48, .48);
  color: #f1a9b3;
}

@media (max-width: 760px) {
  body.jlr-theme-graphite .vector-page .vector-table tbody tr {
    border-color: rgba(207, 216, 210, .14) !important;
    background: rgba(28, 34, 30, .9);
    box-shadow: 0 12px 28px rgba(0, 0, 0, .2);
  }

  body.jlr-theme-graphite .vector-page .vector-table tbody td {
    border-bottom-color: rgba(207, 216, 210, .09) !important;
  }

  body.jlr-theme-graphite .vector-page .vector-table tbody td::before {
    color: #8f9d94;
  }
}

/* v5.7.0 Fahrzeugpass surfaces */
body.jlr-theme-graphite .vector-fahrzeugpass-questionnaire {
  border-color: rgba(120, 194, 145, .24);
  background: linear-gradient(145deg, rgba(33, 45, 38, .96), rgba(42, 48, 44, .94));
}

body.jlr-theme-graphite .vector-fahrzeugpass-section,
body.jlr-theme-graphite .vector-fahrzeugpass-rating span,
body.jlr-theme-graphite .vector-fahrzeugpass-view-section,
body.jlr-theme-graphite .vector-fahrzeugpass-view-comments {
  background: rgba(255, 255, 255, .035);
}

body.jlr-theme-graphite .vector-fahrzeugpass-view-section h3,
body.jlr-theme-graphite .vector-fahrzeugpass-view-comments h3,
body.jlr-theme-graphite .vector-fahrzeugpass-section legend {
  color: var(--jlr-green-dark);
}

body.jlr-theme-graphite .vector-fahrzeugpass-rating-row:nth-of-type(even),
body.jlr-theme-graphite .vector-fahrzeugpass-answer-list > div,
body.jlr-theme-graphite .vector-fahrzeugpass-snapshot > div {
  background: rgba(255, 255, 255, .025);
}
