/* WMS-UI-PATCH-2026-08-06-V1.2-2FA-DYNAMIC-MENU-VERIFIED */
:root {
  --wms-navy: #102a43;
  --wms-navy-deep: #091d30;
  --wms-blue: #1769aa;
  --wms-blue-light: #5ab1e9;
  --wms-bg: #f3f6fa;
  --wms-surface: #ffffff;
  --wms-border: #dfe7ef;
  --wms-text: #172033;
  --wms-muted: #6b788c;
  --wms-sidebar-width: 272px;
  --wms-shadow: 0 10px 30px rgba(16, 42, 67, .08);
}

* { box-sizing: border-box; }

html, body {
  margin: 0;
  min-height: 100%;
  font-family: Inter, "Segoe UI", Arial, sans-serif;
  color: var(--wms-text);
  background: var(--wms-bg);
}

button, input, select { font: inherit; }

/* ---------------- Login ---------------- */

.wms-login-page {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
  background:
    radial-gradient(circle at 12% 10%, rgba(44, 131, 189, .18), transparent 27%),
    radial-gradient(circle at 90% 86%, rgba(23, 63, 95, .12), transparent 30%),
    linear-gradient(135deg, #eef4f9, #f8fafc 54%, #edf3f8);
}

.wms-login-shell {
  width: min(920px, 100%);
  min-height: 540px;
  display: grid;
  grid-template-columns: 1.05fr .95fr;
  overflow: hidden;
  background: var(--wms-surface);
  border: 1px solid rgba(16, 42, 67, .10);
  border-radius: 24px;
  box-shadow: 0 18px 55px rgba(16, 42, 67, .14);
}

.wms-login-visual {
  position: relative;
  overflow: hidden;
  padding: 42px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  color: #fff;
  background: linear-gradient(145deg, rgba(13, 38, 63, .98), rgba(23, 76, 115, .96));
}

.wms-login-visual::before,
.wms-login-visual::after {
  content: "";
  position: absolute;
  border: 1px solid rgba(255, 255, 255, .10);
  border-radius: 50%;
}

.wms-login-visual::before {
  width: 420px;
  height: 420px;
  right: -225px;
  top: -155px;
}

.wms-login-visual::after {
  width: 290px;
  height: 290px;
  left: -170px;
  bottom: -155px;
}

.wms-login-brand,
.wms-login-copy,
.wms-login-foot {
  position: relative;
  z-index: 1;
}

.wms-login-brand {
  display: flex;
  align-items: center;
  gap: 14px;
}

.wms-login-brand-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  font-size: 16px;
  font-weight: 900;
  background: linear-gradient(135deg, #64b9ed, #237bb4);
  box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
}

.wms-brand-logo-tile {
  flex: 0 0 54px;
  width: 54px;
  height: 54px;
  display: grid;
  place-items: center;
  overflow: hidden;
  padding: 5px;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, .55);
  border-radius: 14px;
  box-shadow: 0 12px 26px rgba(0, 0, 0, .22);
}

.wms-brand-logo {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.wms-login-brand strong {
  display: block;
  font-size: 19px;
}

.wms-login-brand span {
  display: block;
  margin-top: 3px;
  color: #bad0e0;
  font-size: 12px;
}

.wms-login-copy h1 {
  max-width: 420px;
  margin: 0 0 14px;
  font-size: 34px;
  line-height: 1.16;
  letter-spacing: -.8px;
}

.wms-login-copy p {
  max-width: 420px;
  margin: 0;
  color: #c4d5e3;
  font-size: 14px;
  line-height: 1.65;
}

.wms-login-foot {
  color: #9eb6c9;
  font-size: 11px;
}

.wms-login-panel {
  padding: 45px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

.wms-login-panel h2 {
  margin: 0 0 7px;
  font-size: 26px;
  letter-spacing: -.4px;
}

.wms-login-subtitle {
  margin-bottom: 27px;
  color: var(--wms-muted);
  font-size: 13px;
}

.wms-form-field { margin-bottom: 17px; }

.wms-form-field label {
  display: block;
  margin: 0 0 7px;
  color: #42546a;
  font-size: 11px;
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: .06em;
}

.wms-input-wrap { position: relative; }

.wms-login-input {
  width: 100%;
  height: 47px;
  padding: 0 13px;
  color: var(--wms-text);
  background: #fbfcfe;
  border: 1px solid #ccd7e3;
  border-radius: 11px;
  outline: none;
  transition: .16s ease;
}

.wms-login-input:focus {
  background: #fff;
  border-color: #6eb0dc;
  box-shadow: 0 0 0 4px rgba(23, 105, 170, .10);
}

.wms-password-input,
.wms-input-wrap input { padding-right: 46px !important; }

.wms-password-toggle {
  position: absolute;
  right: 8px;
  top: 7px;
  width: 34px;
  height: 33px;
  padding: 0;
  color: #40556a;
  background: #edf3f8;
  border: 0;
  border-radius: 8px;
  cursor: pointer;
}

.wms-password-toggle::before {
  content: "";
  position: absolute;
  left: 8px;
  top: 10px;
  width: 16px;
  height: 10px;
  border: 2px solid currentColor;
  border-radius: 50% / 60%;
}

.wms-password-toggle::after {
  content: "";
  position: absolute;
  left: 14px;
  top: 13px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: currentColor;
}

.wms-password-toggle.is-visible { color: var(--wms-blue); }

.wms-login-message {
  display: block;
  min-height: 20px;
  margin: -3px 0 7px;
  color: #b42318;
  font-size: 11px;
  font-weight: 700;
}

.wms-login-button {
  width: 100%;
  height: 47px;
  margin-top: 4px;
  color: #fff;
  background: linear-gradient(135deg, var(--wms-blue), #2c83bd);
  border: 0;
  border-radius: 11px;
  font-weight: 800;
  cursor: pointer;
  box-shadow: 0 9px 20px rgba(23, 105, 170, .22);
}

.wms-login-button:hover { filter: brightness(.98); }

/* Give authentication actions immediate, visible feedback while pressed. */
.wms-login-button {
  transition: transform .08s ease, filter .12s ease, box-shadow .12s ease;
}

.wms-login-button:active,
.wms-login-button:focus:active {
  transform: translateY(2px);
  filter: brightness(.86);
  box-shadow: inset 0 2px 5px rgba(5, 35, 61, .30) !important;
}

.wms-login-button:focus-visible {
  outline: 3px solid rgba(43, 139, 211, .30);
  outline-offset: 2px;
}

.wms-login-note {
  margin-top: 17px;
  color: var(--wms-muted);
  text-align: center;
  font-size: 10.5px;
  line-height: 1.45;
}

/* ---------------- Authentication steps ---------------- */

.wms-auth-page {
  padding: 28px;
}

.wms-auth-shell {
  width: min(470px, 100%);
}

.wms-auth-brand {
  display: flex;
  align-items: center;
  gap: 13px;
  margin: 0 0 14px;
  padding: 0 5px;
  color: var(--wms-navy);
}

.wms-auth-brand strong {
  display: block;
  font-size: 17px;
}

.wms-auth-brand span {
  display: block;
  margin-top: 2px;
  color: var(--wms-muted);
  font-size: 10.5px;
}

.wms-auth-panel {
  width: 100% !important;
  overflow: visible;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.wms-auth-panel > tbody > tr > td,
.wms-auth-panel .dxrp-content {
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
}

.wms-auth-stage-panel {
  min-width: 0;
}

.wms-auth-stage-panel .wms-auth-panel,
.wms-auth-stage-panel .wms-auth-panel table {
  max-width: 100%;
}

.wms-auth-panel .dxrp-header {
  padding: 14px 32px !important;
  color: #dce9f4 !important;
  background: linear-gradient(135deg, var(--wms-navy), #174a70) !important;
  border: 0 !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.wms-auth-copy {
  margin-bottom: 24px;
}

.wms-auth-copy h1 {
  margin: 0 0 8px;
  color: var(--wms-text);
  font-size: 25px;
  line-height: 1.2;
  letter-spacing: -.4px;
}

.wms-auth-copy p {
  margin: 0;
  color: var(--wms-muted);
  font-size: 12.5px;
  line-height: 1.55;
}

.wms-field-label {
  display: block;
  margin: 0 0 7px;
  color: #42546a;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.wms-auth-input {
  width: 100% !important;
  height: 47px !important;
  overflow: hidden;
  background: #fbfcfe !important;
  border: 1px solid #ccd7e3 !important;
  border-radius: 11px !important;
}

.wms-auth-input input {
  width: 100% !important;
  height: 45px !important;
  padding: 0 13px !important;
  color: var(--wms-text) !important;
  background: transparent !important;
  border: 0 !important;
  outline: none !important;
  font: 14px Inter, "Segoe UI", Arial, sans-serif !important;
}

.wms-auth-input.dxeDisabled,
.wms-auth-input input:disabled,
.wms-auth-input input[readonly] {
  color: #66778a !important;
  background: #eef3f7 !important;
}

.wms-auth-otp-input input {
  font-size: 21px !important;
  font-weight: 800 !important;
  letter-spacing: .18em;
}

.wms-auth-actions {
  display: flex;
  gap: 9px;
  align-items: stretch;
  margin-top: 9px;
}

.wms-totp-submit-wrap {
  position: relative;
  display: flex;
  flex: 1 1 auto;
}

.wms-totp-submit-wrap .wms-login-button {
  width: 100%;
}

.wms-totp-spinner {
  display: none;
  position: absolute;
  top: 50%;
  right: 16px;
  width: 15px;
  height: 15px;
  margin-top: -8px;
  border: 2px solid rgba(255,255,255,.45);
  border-top-color: #fff;
  border-radius: 50%;
  animation: wms-totp-spin .7s linear infinite;
  pointer-events: none;
}

.wms-totp-verifying .wms-totp-spinner,
.wms-login-processing .wms-totp-spinner { display: block; }

.wms-totp-verifying .wms-login-button,
.wms-totp-verifying .wms-login-button:disabled,
.wms-login-processing .wms-login-button,
.wms-login-processing .wms-login-button:disabled {
  cursor: wait;
  filter: grayscale(.3);
  opacity: .68;
  box-shadow: none;
}

.wms-totp-verifying .wms-login-input:disabled,
.wms-login-processing .wms-login-input:disabled {
  background: #eef2f6;
  color: #65758b;
}

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

.wms-auth-primary,
.wms-auth-secondary {
  min-height: 43px;
  border-radius: 10px !important;
  font: 700 11px Inter, "Segoe UI", Arial, sans-serif !important;
}

.wms-auth-primary {
  flex: 1;
  color: #fff !important;
  background: linear-gradient(135deg, var(--wms-blue), #2c83bd) !important;
  border: 1px solid var(--wms-blue) !important;
  box-shadow: 0 8px 18px rgba(23, 105, 170, .20) !important;
}

.wms-auth-secondary {
  color: #40556a !important;
  background: #f4f7fa !important;
  border: 1px solid #d8e1ea !important;
}

.wms-auth-primary input,
.wms-auth-secondary input,
.wms-auth-primary a,
.wms-auth-secondary a {
  color: inherit !important;
  background: transparent !important;
  border: 0 !important;
  font: inherit !important;
}

.wms-auth-actions-three {
  flex-wrap: wrap;
}

.wms-auth-actions-three .wms-auth-primary {
  flex: 1 1 100%;
}

.wms-auth-actions-three .wms-auth-secondary {
  flex: 1 1 calc(50% - 5px);
}

.wms-auth-foot {
  margin-top: 12px;
  color: var(--wms-muted);
  font-size: 10px;
  text-align: center;
}

.wms-auth-copy-centered {
  text-align: center;
}

.wms-auth-success-mark {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  margin: 0 auto 15px;
  color: #fff;
  background: #25835b;
  border-radius: 50%;
  font-size: 24px;
  font-weight: 900;
  box-shadow: 0 10px 22px rgba(37, 131, 91, .22);
}

.wms-auth-security-note {
  display: grid;
  gap: 5px;
  margin: 0 0 15px;
  padding: 14px;
  color: #42546a;
  background: #f4f7fa;
  border: 1px solid #dfe7ef;
  border-radius: 11px;
  font-size: 11px;
  text-align: center;
}

.wms-auth-warning {
  display: block;
  margin: 0 0 15px;
  color: #9a3412 !important;
  font-size: 10.5px !important;
  line-height: 1.45;
  text-align: center;
}

.wms-auth-actions-single .wms-auth-primary {
  width: 100%;
}

.wms-auth-link-button {
  display: flex !important;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding: 0 18px;
  color: #fff !important;
  font-size: 14px !important;
  line-height: 1.2;
  text-align: center;
  text-decoration: none !important;
}

/* ---------------- Main shell ---------------- */

.wms-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: var(--wms-sidebar-width) minmax(0, 1fr);
  transition: grid-template-columns .22s ease;
}

.wms-shell.wms-sidebar-hidden {
  grid-template-columns: 0 minmax(0, 1fr);
}

.wms-sidebar {
  position: fixed;
  left: 0;
  top: 0;
  bottom: 0;
  z-index: 30;
  width: var(--wms-sidebar-width);
  /* DevExpress renders fly-out submenus outside the root menu bounds. */
  overflow: visible;
  padding: 16px 13px 24px;
  color: #dce9f4;
  background: linear-gradient(180deg, var(--wms-navy), var(--wms-navy-deep));
  box-shadow: 10px 0 30px rgba(12, 32, 51, .08);
  transition: transform .22s ease;
}

.wms-shell.wms-sidebar-hidden .wms-sidebar {
  transform: translateX(-102%);
}

.wms-side-brand {
  display: flex;
  gap: 11px;
  align-items: center;
  padding: 5px 7px 17px;
  border-bottom: 1px solid rgba(255, 255, 255, .10);
}

.wms-side-logo {
  flex: 0 0 43px;
  width: 43px !important;
  height: 43px !important;
  object-fit: contain;
  padding: 4px;
  border-radius: 12px;
  background: #fff;
}

.wms-side-brand strong {
  display: block;
  color: #fff;
  font-size: 14px;
}

.wms-side-brand span {
  display: block;
  margin-top: 3px;
  color: #90a9bf;
  font-size: 10.5px;
}

.wms-menu-caption {
  padding: 15px 10px 7px;
  color: #7594ad;
  font-size: 9.5px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.wms-menu-holder {
  width: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  max-height: calc(100vh - 205px);
}

/* DevExpress ASPxMenu v17-friendly overrides */
.wms-sidebar .dxmLite,
.wms-sidebar .dxmLite .dxm-main,
.wms-sidebar .dxm-main,
.wms-sidebar .dxm-vertical {
  width: 100% !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

/* ASPxMenu still supplies the authorised hierarchy; its fly-out shells stay hidden. */
div[id*="_mnuMain_DXM"],
div[id*="_mnuMain_DXM"].dxm-hovered {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}

.wms-sidebar .dxm-item,
.wms-sidebar .dxm-hovered,
.wms-sidebar .dxm-selected {
  border: 0 !important;
  border-radius: 9px !important;
  background: transparent !important;
}

.wms-sidebar .dxm-item:hover,
.wms-sidebar .dxm-hovered {
  background: rgba(255, 255, 255, .08) !important;
}

.wms-sidebar .dxm-content,
.wms-sidebar .dxm-content a,
.wms-sidebar .dxm-item a {
  color: #dce9f4 !important;
  font-family: Inter, "Segoe UI", Arial, sans-serif !important;
  font-size: 12.5px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.wms-sidebar .dxm-popOut,
.wms-sidebar .dxm-popOut img {
  display: none !important;
}

.wms-tree-menu .wms-tree-root,
.wms-tree-menu .wms-tree-children > ul {
  display: block !important;
  position: static !important;
  width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
}

.wms-tree-menu li.wms-tree-node,
.wms-tree-menu .wms-tree-children > ul > li {
  position: relative !important;
  display: block !important;
  float: none !important;
  clear: both !important;
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 2px 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

.wms-tree-menu li > .dxm-content {
  position: relative;
  display: block !important;
  width: 100% !important;
  min-height: 36px;
  padding: 9px 32px 9px 12px !important;
  cursor: pointer;
  border-radius: 8px;
  float: none !important;
  clear: both !important;
  height: auto !important;
}

.wms-tree-menu .wms-tree-level-0 > .dxm-content,
.wms-tree-menu .wms-tree-level-0 > .dxm-content a {
  color: #f5f9fd !important;
  font-weight: 650 !important;
}

.wms-tree-menu .wms-tree-level-1 > .dxm-content { padding-left: 30px !important; }
.wms-tree-menu .wms-tree-level-2 > .dxm-content { padding-left: 47px !important; }
.wms-tree-menu .wms-tree-level-3 > .dxm-content,
.wms-tree-menu .wms-tree-level-4 > .dxm-content { padding-left: 62px !important; }

.wms-tree-menu .wms-tree-level-1 > .dxm-content,
.wms-tree-menu .wms-tree-level-1 > .dxm-content a {
  color: #e5f0f8 !important;
  font-weight: 550 !important;
}

.wms-tree-menu .wms-tree-level-2 > .dxm-content,
.wms-tree-menu .wms-tree-level-2 > .dxm-content a,
.wms-tree-menu .wms-tree-level-3 > .dxm-content,
.wms-tree-menu .wms-tree-level-3 > .dxm-content a {
  color: #cbddea !important;
  font-weight: 500 !important;
}

.wms-tree-menu .wms-tree-parent > .dxm-content::after {
  content: "\203A";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-52%);
  color: #9fc4dd;
  font-size: 21px;
  font-weight: 700;
  line-height: 1;
}

.wms-tree-menu .wms-tree-parent.wms-tree-expanded > .dxm-content::after {
  content: "\2304";
  transform: translateY(-63%);
}

.wms-tree-children {
  display: none;
  position: static;
  float: none;
  clear: both;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 3px 0 1px;
  transform: none;
  overflow: visible;
}

.wms-tree-expanded > .wms-tree-children {
  display: block;
}

.wms-tree-menu li > .dxm-content:hover,
.wms-tree-menu li.dxm-hovered > .dxm-content {
  background: rgba(83, 151, 204, .20) !important;
}

.wms-tree-menu li.dxm-selected > .dxm-content,
.wms-tree-menu li.wms-current-item > .dxm-content {
  color: #fff !important;
  background: rgba(43, 139, 211, .34) !important;
  box-shadow: inset 3px 0 0 #55b5f3;
}

/* Semantic recursive tree generated from the authorised ASPxMenu source. */
.wms-devexpress-source { display: none !important; }

.wms-nav-tree,
.wms-nav-root,
.wms-nav-children {
  display: block;
  position: static;
  float: none;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  list-style: none;
  transform: none;
}

.wms-nav-item {
  display: block;
  position: static;
  float: none;
  clear: both;
  width: 100%;
  height: auto;
  min-height: 0;
  margin: 2px 0;
  padding: 0;
}

.wms-nav-row {
  position: relative;
  display: block;
  width: 100%;
  min-height: 36px;
  margin: 0;
  padding: 9px 32px 9px 12px;
  color: #e5f0f8;
  background: transparent;
  border: 0;
  border-radius: 8px;
  font: 600 12.5px Inter, "Segoe UI", Arial, sans-serif;
  line-height: 18px;
  text-align: left;
  cursor: pointer;
}

.wms-nav-level-0 > .wms-nav-row { color: #f7fbff; font-weight: 650; }
.wms-nav-level-1 > .wms-nav-row { padding-left: 30px; }
.wms-nav-level-2 > .wms-nav-row { padding-left: 46px; color: #d8e7f2; font-weight: 550; }
.wms-nav-level-3 > .wms-nav-row,
.wms-nav-level-4 > .wms-nav-row { padding-left: 58px; color: #c9dce9; font-weight: 500; }

.wms-nav-row:hover,
.wms-nav-row:focus-visible { background: rgba(83, 151, 204, .20); outline: none; }

.wms-nav-row:disabled { color: #91a6b8; cursor: not-allowed; background: transparent; }

.wms-nav-parent > .wms-nav-row::after {
  content: "\203A";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-52%);
  color: #9fc4dd;
  font-size: 21px;
  font-weight: 700;
}

.wms-nav-parent.wms-nav-expanded > .wms-nav-row::after {
  content: "\2304";
  transform: translateY(-63%);
}

.wms-nav-children {
  display: none;
  padding: 3px 0 2px;
}

.wms-nav-expanded > .wms-nav-children { display: block; }

.wms-side-foot {
  margin-top: 18px;
  padding: 14px 8px 0;
  color: #7f99b0;
  border-top: 1px solid rgba(255, 255, 255, .10);
  font-size: 10px;
  line-height: 1.55;
}

.wms-main {
  grid-column: 2;
  min-width: 0;
}

.wms-topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  min-height: 68px;
  display: flex;
  align-items: center;
  gap: 13px;
  padding: 10px 20px;
  background: rgba(255, 255, 255, .97);
  border-bottom: 1px solid var(--wms-border);
  box-shadow: 0 3px 14px rgba(16, 42, 67, .04);
}

.wms-sidebar-toggle {
  flex: 0 0 40px;
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  color: #40556a;
  background: #fff;
  border: 1px solid var(--wms-border);
  border-radius: 10px;
  cursor: pointer;
  transition: .16s ease;
}

.wms-sidebar-toggle:hover {
  color: #173f5f;
  background: #f5f8fb;
  border-color: #c7d4e1;
}

.wms-sidebar-toggle svg {
  width: 21px;
  height: 21px;
  display: block;
}

.wms-company-context {
  flex: 1;
  min-width: 0;
}

.wms-company-name {
  display: block;
  max-width: 100%;
  font-size: 14px !important;
  font-weight: 800 !important;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wms-company-subtitle {
  display: block;
  margin-top: 3px;
  color: var(--wms-muted);
  font-size: 10.5px;
}

.wms-context-controls {
  display: flex;
  align-items: center;
  gap: 9px;
}

.wms-context-item {
  display: flex;
  align-items: center;
  gap: 6px;
}

.wms-context-label {
  color: var(--wms-muted);
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .08em;
}

.wms-user-area {
  display: flex;
  align-items: center;
  gap: 10px;
  padding-left: 14px;
  border-left: 1px solid var(--wms-border);
}

.wms-user-label {
  font-size: 11.5px !important;
  font-weight: 700 !important;
}

.wms-dashboard-link,
.wms-dashboard-link a,
.wms-logout-link,
.wms-logout-link a {
  color: #34495e !important;
  font-size: 11px !important;
  font-weight: 750 !important;
  text-decoration: none !important;
}

.wms-dashboard-link,
.wms-dashboard-link a {
  color: var(--wms-blue) !important;
}

.wms-password-policy {
  margin-top: 10px;
  padding: 10px 12px;
  color: #40556a;
  background: #f4f7fa;
  border: 1px solid #dfe7ef;
  border-radius: 9px;
  font-size: 11px;
  line-height: 1.45;
}

.wms-page-area { padding: 16px; }

.wms-content-panel {
  width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  background: #fff !important;
  border: 1px solid var(--wms-border) !important;
  border-radius: 13px !important;
  box-shadow: var(--wms-shadow) !important;
}

.wms-overlay {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 25;
  background: rgba(5, 18, 31, .48);
}

/* Minimal authenticated welcome area; no data queries or fixed-height filler. */
.wms-main:has(.wms-dashboard-panel) { display: flex; flex-direction: column; min-height: 100vh; min-height: 100dvh; }
.wms-main:has(.wms-dashboard-panel) > .wms-topbar { flex-shrink: 0; }
.wms-page-area:has(> .wms-dashboard-panel) { display: flex; flex: 1; padding: 0; }
.wms-dashboard-panel,
.wms-dashboard-panel > tbody,
.wms-dashboard-panel > tbody > tr,
.wms-dashboard-panel > tbody > tr > td {
  display: flex;
  flex: 1;
  width: 100%;
  min-width: 0;
  height: auto !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}
.wms-welcome { display: flex; flex: 1; align-items: center; justify-content: center; padding: 28px 18px 32px; text-align: center; }
.wms-welcome-inner { width: min(100%, 580px); }
.wms-welcome-logo { display: block; width: 116px; max-width: 28vw; height: auto; margin: 0 auto 18px; object-fit: contain; }
.wms-welcome h1 { margin: 0 0 8px; color: #173f5f; font-size: clamp(21px, 3vw, 28px); line-height: 1.3; }
.wms-welcome-subtitle { margin: 0 0 20px; color: #52677b; font-size: 15px; line-height: 1.5; }
.wms-welcome-context { margin: 0; font-size: 13px; line-height: 1.6; }
.wms-welcome-context > div { display: flex; justify-content: center; flex-wrap: wrap; gap: 4px 7px; margin-top: 5px; }
.wms-welcome-context dt { font-weight: 600; }
.wms-welcome-context dd { margin: 0; overflow-wrap: anywhere; }

@media (max-width: 768px) {
  .wms-login-shell {
    width: min(470px, 100%);
    min-height: 0;
    display: block;
  }

  .wms-login-visual {
    min-height: 175px;
    padding: 25px;
  }

  .wms-login-copy { display: none; }
  .wms-login-panel { padding: 31px 25px; }

  .wms-auth-page { padding: 28px; }

  .wms-auth-panel > tbody > tr > td,
  .wms-auth-panel .dxrp-content {
    padding: 0 !important;
  }

  .wms-auth-panel .dxrp-header {
    padding: 13px 21px !important;
  }

  .wms-shell,
  .wms-shell.wms-sidebar-hidden {
    display: block;
  }

  .wms-sidebar,
  .wms-shell.wms-sidebar-hidden .wms-sidebar {
    width: min(86vw, 320px);
    overflow: hidden;
    transform: translateX(-102%);
  }

  .wms-shell.wms-mobile-menu-open .wms-sidebar {
    transform: translateX(0);
  }

  .wms-shell.wms-mobile-menu-open .wms-overlay {
    display: block;
  }

  .wms-main { grid-column: auto; }

  .wms-topbar {
    min-height: 0;
    flex-wrap: wrap;
    padding: 9px 11px;
  }

  .wms-context-controls {
    order: 5;
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1.25fr);
    width: 100%;
    gap: 8px;
    margin-left: 0;
  }

  .wms-context-item { min-width: 0; }

  .wms-context-item > table { width: 100% !important; }

  .wms-context-label { font-size: 8px; }

  .wms-company-subtitle { display: none; }

  .wms-user-label { display: none !important; }

  .wms-page-area { padding: 10px; overflow-x: auto; }

  .wms-nav-level-3 > .wms-nav-row,
  .wms-nav-level-4 > .wms-nav-row { padding-left: 52px; }

  .wms-content-panel { min-height: 0 !important; }
}
/* TOTP enrollment QR stays centered in the available authentication panel. */
.wms-totp-qr-wrap {
    display: flex;
    width: 100%;
    justify-content: center;
    align-items: center;
    margin: 4px 0 18px;
}

.wms-totp-qr {
    display: inline-block;
    flex: 0 0 auto;
    padding: 12px;
    line-height: 0;
    background: #fff;
}
