/* ============================================================
   fmsid_theme.css — FMSID brand overrides for 2019 base template
   Loaded after dist/css/app.min.css (Bootstrap 4)
   Uses tokens from dist/css/colors_and_type.css
   ============================================================ */

/* ---------- Typography ------------------------------------ */
html, body {
  font-family: var(--font-sans) !important;
  background-color: var(--bg-page) !important;
}

/* ---------- Public top navbar ------------------------------- */
.fmsid-public-navbar {
  background: var(--brand-ink, #1A1416) !important;
  min-height: 64px !important;
  display: flex !important;
  align-items: center !important;
  padding: 0 24px !important;
  gap: 20px !important;
  flex-wrap: wrap !important;
  border-bottom: 3px solid var(--brand-red, #D21E26) !important;
  box-shadow: none !important;
}
.fmsid-mark {
  width: 34px !important;
  height: 34px !important;
  border-radius: 8px !important;
  background: linear-gradient(160deg, var(--brand-ink, #1A1416), var(--brand-ink-700, #2A2024)) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  position: relative !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.12) !important;
  flex-shrink: 0 !important;
  margin-right: 8px !important;
}
.fmsid-mark .fa { color: #fff !important; font-size: 14px !important; }
.fmsid-mark::after {
  content: "" !important;
  position: absolute !important;
  top: 5px !important;
  right: 5px !important;
  width: 5px !important;
  height: 5px !important;
  border-radius: 999px !important;
  background: var(--brand-red, #D21E26) !important;
  box-shadow: 0 0 0 2px var(--brand-ink, #1A1416), 0 0 6px rgba(210,30,38,.7) !important;
}
.fmsid-brand {
  font-weight: 600 !important;
  font-size: 18px !important;
  letter-spacing: 0 !important;
  color: #fff !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.fmsid-brand b { color: var(--brand-red, #D21E26); font-weight: 800; letter-spacing: 0; margin-left: 1px; }
.fmsid-brand:hover { color: #fff !important; text-decoration: none !important; }

.fmsid-nav {
  display: flex !important;
  gap: 2px !important;
  flex: 1 !important;
  align-items: center !important;
  flex-wrap: nowrap !important;
  min-width: 0 !important;
}
.fmsid-nav-link {
  color: rgba(255,255,255,.78) !important;
  text-decoration: none !important;
  min-height: 38px !important;
  padding: 0 12px !important;
  border-radius: 6px !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  white-space: nowrap !important;
  line-height: 1 !important;
  display: inline-flex !important;
  align-items: center !important;
}
.fmsid-nav-link.on,
.fmsid-public-navbar .fmsid-nav-link.on {
  background: rgba(255,255,255,.10) !important;
  font-weight: 600 !important;
  color: #fff !important;
  box-shadow: inset 0 -2px 0 var(--brand-red, #D21E26) !important;
}
.fmsid-nav-link:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  text-decoration: none !important;
}

.fmsid-actions {
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  flex-shrink: 0 !important;
}
.fmsid-action-pill,
.fmsid-lang {
  color: rgba(255,255,255,.85) !important;
  font-size: 13px !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  min-height: 36px !important;
  padding: 0 10px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  cursor: pointer !important;
  background: rgba(255,255,255,.03) !important;
  user-select: none !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 6px !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}
.fmsid-action-pill:hover,
.fmsid-lang:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
}
.fmsid-action-pill.dropdown-toggle::after,
.fmsid-lang.dropdown-toggle::after { display: none !important; }
.fmsid-cart-dropdown { position: relative !important; }
.fmsid-cart-link { position: relative !important; min-width: 38px !important; }
.fmsid-cart-count {
  position: absolute !important;
  top: -6px !important;
  right: -7px !important;
  min-width: 17px !important;
  height: 17px !important;
  padding: 0 5px !important;
  border-radius: 999px !important;
  background: var(--brand-red, #D21E26) !important;
  color: #fff !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  line-height: 17px !important;
  text-align: center !important;
}
.fmsid-cart-menu { min-width: 260px !important; }
.fmsid-cart-menu .fa-shopping-cart { font-size: 26px !important; color: var(--fg-subtle, #94A0AE) !important; }
.fmsid-auth-link {
  background: transparent !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.25) !important;
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 4px !important;
  font-size: 14px !important;
  font-weight: 600 !important;
  text-decoration: none !important;
  white-space: nowrap !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  line-height: 1 !important;
}
.fmsid-auth-link:hover {
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.fmsid-register-btn {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 7px !important;
  white-space: nowrap !important;
  line-height: 1 !important;
}

.fmsid-mobile-actions {
  margin-left: auto !important;
  display: none !important;
  align-items: center !important;
  gap: 4px !important;
}
.fmsid-icon-btn {
  width: 38px !important;
  height: 38px !important;
  background: rgba(255,255,255,.03) !important;
  border: 1px solid rgba(255,255,255,.22) !important;
  border-radius: 4px !important;
  color: rgba(255,255,255,.85) !important;
  padding: 0 !important;
  cursor: pointer !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  line-height: 1 !important;
  text-decoration: none !important;
}
.fmsid-icon-btn:hover {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  text-decoration: none !important;
}
.fmsid-icon-btn i { font-size: 16px !important; line-height: 1 !important; }

.fmsid-mobile-nav {
  background: var(--brand-ink, #1A1416) !important;
  flex-basis: calc(100% + 48px) !important;
  width: calc(100% + 48px) !important;
  margin: 0 -24px !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
  padding: 8px 24px 14px !important;
}
.fmsid-mobile-link {
  display: block !important;
  color: rgba(255,255,255,.85) !important;
  padding: 11px 10px !important;
  border-radius: 4px !important;
  text-decoration: none !important;
  font-size: 14px !important;
  font-weight: 500 !important;
}
.fmsid-mobile-link:hover {
  color: #fff !important;
  background: rgba(255,255,255,.06) !important;
  text-decoration: none !important;
}
.fmsid-mobile-divider { border-top: 1px solid rgba(255,255,255,.1) !important; margin: 8px 0 !important; }
.fmsid-mobile-register {
  margin: 4px 0 !important;
  background: var(--brand-red, #D21E26) !important;
  color: #fff !important;
  padding: 11px 14px !important;
  border-radius: 4px !important;
  display: inline-block !important;
}

@media (max-width: 991.98px) {
  .fmsid-public-navbar {
    padding: 0 16px !important;
    gap: 12px !important;
  }
  .fmsid-mobile-actions { display: flex !important; }
  .fmsid-mobile-nav {
    flex-basis: calc(100% + 32px) !important;
    width: calc(100% + 32px) !important;
    margin: 0 -16px !important;
    padding-left: 16px !important;
    padding-right: 16px !important;
  }
}

@media (max-width: 575.98px) {
  .fmsid-public-navbar { padding: 0 12px !important; }
  .fmsid-brand { font-size: 16px !important; }
  .fmsid-mark {
    width: 30px !important;
    height: 30px !important;
    margin-right: 6px !important;
  }
  .fmsid-mobile-nav {
    flex-basis: calc(100% + 24px) !important;
    width: calc(100% + 24px) !important;
    margin: 0 -12px !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* Also style the logged-in (non-public) navbar consistently */
.navbar:not(.fmsid-public-navbar) {
  background-color: #1A1416 !important;
  background-color: var(--brand-navy, #1A1416) !important;
}
.navbar-left {
  background-color: #1A1416 !important;
  background-color: var(--brand-navy, #1A1416) !important;
  border-bottom: none !important;
}
.navbar-body {
  background-color: #1A1416 !important;
  background-color: var(--brand-navy, #1A1416) !important;
  border-bottom: none !important;
}
.navbar .nav-link { color: rgba(255,255,255,.85) !important; }
.navbar .nav-link:hover { color: #fff !important; }
.btn-left-navbar { color: rgba(255,255,255,.85) !important; }

/* Public pages: remove left-margin from body-content (no sidebar) */
.fmsid-public .body-content {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.fmsid-public .section-main {
  max-width: 100% !important;
  /* keep default 24px padding — mk-root uses margin:-24px for full-bleed */
}
.fmsid-public .footer-content {
  margin-left: 0 !important;
}

/* Dropdown menus */
.dropdown-menu a.dropdown-item,
.dropdown-order-items { background: #fff !important; }

/* ---------- Logged-in client area -------------------------- */
.fmsid-clientarea {
  background: var(--bg-page, #F4F6F8) !important;
}
.fmsid-clientarea .fmsid-client-navbar,
.fmsid-clientarea .navbar:not(.fmsid-public-navbar) {
  height: 64px !important;
  min-height: 64px !important;
  background: var(--brand-ink, #1A1416) !important;
  border-bottom: 0 !important;
  box-shadow: none !important;
}
.fmsid-clientarea .navbar-left,
.fmsid-clientarea .fmsid-client-navbar-left {
  flex: 0 0 240px !important;
  width: 240px !important;
  height: 64px !important;
  padding: 0 20px !important;
  background: var(--brand-ink, #1A1416) !important;
  border-bottom: 0 !important;
  justify-content: flex-start !important;
  gap: 12px !important;
}
.fmsid-clientarea .navbar-left .navbar-brand {
  height: auto !important;
  width: auto !important;
  max-width: 208px !important;
  margin: 0 !important;
  overflow: visible !important;
}
.fmsid-clientarea .navbar-left .btn-toggler {
  display: none !important;
}
.fmsid-clientarea .navbar-body,
.fmsid-clientarea .fmsid-client-navbar-body {
  height: 64px !important;
  min-width: 0 !important;
  background: var(--brand-ink, #1A1416) !important;
  border-bottom: 0 !important;
  gap: 14px !important;
}
.fmsid-client-crumbs {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
  min-width: 220px !important;
  padding-left: 2px !important;
  font-size: 13px !important;
  color: rgba(255,255,255,.60) !important;
}
.fmsid-client-crumbs a {
  color: rgba(255,255,255,.60) !important;
  text-decoration: none !important;
}
.fmsid-client-crumbs a:hover {
  color: #fff !important;
  text-decoration: underline !important;
}
.fmsid-client-crumbs .ca-sep {
  color: rgba(255,255,255,.35) !important;
}
.fmsid-client-crumbs .on {
  color: #fff !important;
  font-weight: 600 !important;
}
.fmsid-clientarea .navbar-search {
  max-width: 390px !important;
  height: 38px !important;
  flex: 1 1 260px !important;
}
.fmsid-clientarea .navbar-search .input-group {
  height: 38px !important;
  background: rgba(255,255,255,.08) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 6px !important;
  overflow: hidden !important;
}
.fmsid-clientarea .navbar-search .input-group input,
.fmsid-clientarea .navbar-search .input-group input:focus,
.fmsid-clientarea .navbar-search .input-group input:hover,
.fmsid-clientarea .navbar-search .input-group input:active {
  height: 36px !important;
  background: transparent !important;
  color: #fff !important;
  border: 0 !important;
  box-shadow: none !important;
}
.fmsid-clientarea .navbar-search .input-group input::placeholder {
  color: rgba(255,255,255,.55) !important;
}
.fmsid-clientarea .navbar-search .input-icon-placeholder .input-group-text {
  background: transparent !important;
  color: rgba(255,255,255,.65) !important;
  border: 0 !important;
  padding: 0 8px 0 12px !important;
}
.fmsid-clientarea .navbar-order-toggler {
  min-height: 36px !important;
  padding: 0 14px !important;
  border-radius: 4px !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  line-height: 1 !important;
}
.fmsid-clientarea .navbar-body .navbar-menu {
  height: 64px !important;
  flex: 0 0 auto !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link {
  min-height: 36px !important;
  height: 36px !important;
  margin: 0 2px !important;
  padding: 0 10px !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 6px !important;
  background: rgba(255,255,255,.03) !important;
  color: rgba(255,255,255,.85) !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link:hover:not(.active, .disabled) {
  background: rgba(255,255,255,.08) !important;
  color: #fff !important;
  opacity: 1 !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link i {
  color: currentColor !important;
  font-size: 15px !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link .navbar-menu-balance,
.fmsid-clientarea .navbar-body .navbar-menu .nav-link .navbar-menu-user {
  line-height: 1.15 !important;
  margin-left: 8px !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link small.text-gray {
  color: rgba(255,255,255,.55) !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link small.text-dark {
  color: #fff !important;
}
.fmsid-clientarea .navbar-body .navbar-menu .nav-link .badge {
  background: var(--brand-red, #D21E26) !important;
  color: #fff !important;
}
.fmsid-clientarea .dropdown-menu {
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 6px !important;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10)) !important;
}

.fmsid-clientarea .sidebar {
  width: 240px !important;
  top: 64px !important;
  min-height: calc(100vh - 64px) !important;
  background: #fff !important;
  border-right: 1px solid var(--border-default, #E3E7EC) !important;
  box-shadow: none !important;
  overflow: hidden !important;
}
.fmsid-clientarea .sidebar .sidebar-wrap {
  width: 240px !important;
  padding: 18px 12px 12px !important;
  background: #fff !important;
}
.fmsid-clientarea .sidebar-heading {
  color: var(--fg-subtle, #94A0AE) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-transform: uppercase !important;
  padding: 0 10px !important;
  margin: 18px 0 4px !important;
}
.fmsid-clientarea .sidebar .nav-pills,
.fmsid-clientarea .sidebar .nav {
  gap: 2px !important;
}
.fmsid-clientarea .sidebar .nav-item > .nav-link,
.fmsid-clientarea .sidebar .nav-item .nav-subnav .nav-item > .nav-link {
  min-height: 36px !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 8px 10px !important;
  border-radius: 6px !important;
  background: transparent !important;
  color: var(--neutral-700, #4A5462) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  line-height: 1.25 !important;
}
.fmsid-clientarea .sidebar .nav-item > .nav-link:hover:not(.active),
.fmsid-clientarea .sidebar .nav-item .nav-subnav .nav-item > .nav-link:hover:not(.active, .disabled) {
  background: var(--neutral-50, #F8FAFC) !important;
  color: var(--brand-ink, #1A1416) !important;
}
.fmsid-clientarea .sidebar .nav-link.active,
.fmsid-clientarea .sidebar .nav-item .nav-subnav .nav-item > .nav-link.active {
  background: var(--brand-red-100, #FCE6E6) !important;
  color: var(--brand-red-700, #8E0F15) !important;
  font-weight: 600 !important;
}
.fmsid-clientarea .sidebar .nav-link i,
.fmsid-clientarea .sidebar .nav-link .fa {
  width: 16px !important;
  min-width: 16px !important;
  text-align: center !important;
  color: var(--neutral-500, #94A0AE) !important;
  font-size: 14px !important;
}
.fmsid-clientarea .sidebar .nav-link.active i,
.fmsid-clientarea .sidebar .nav-link.active .fa {
  color: var(--brand-red, #D21E26) !important;
}
.fmsid-clientarea .sidebar .nav-item .nav-subnav {
  background: #fff !important;
  margin: 4px 0 6px 20px !important;
  border-left: 1px solid var(--border-default, #E3E7EC) !important;
  padding-left: 8px !important;
}
.fmsid-clientarea .sidebar .nav-item .nav-subnav .nav-item > .nav-link {
  padding-left: 10px !important;
  font-size: 13px !important;
}
.fmsid-clientarea .sidebar .badge,
.fmsid-clientarea .sidebar .badge-secondary,
.fmsid-clientarea .sidebar .badge-top {
  position: static !important;
  margin-left: auto !important;
  padding: 2px 7px !important;
  border-radius: 999px !important;
  background: var(--neutral-200, #E9EDF1) !important;
  color: var(--neutral-700, #4A5462) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
.fmsid-clientarea .sidebar .nav-link.active .badge,
.fmsid-clientarea .sidebar .nav-link.active .badge-secondary {
  background: var(--brand-red, #D21E26) !important;
  color: #fff !important;
}

@media (min-width: 994px) {
  .fmsid-clientarea .body-content,
  .fmsid-clientarea .footer-content,
  .fmsid-clientarea.sidenav-toggled .body-content,
  .fmsid-clientarea.sidenav-toggled .footer-content {
    margin-left: 240px !important;
  }
  .fmsid-clientarea.sidenav-toggled .sidebar {
    margin-left: 0 !important;
  }
  .fmsid-clientarea.sidenav-toggled .navbar .navbar-left {
    flex: 0 0 240px !important;
    width: 240px !important;
    padding: 0 20px !important;
    background: var(--brand-ink, #1A1416) !important;
  }
  .fmsid-clientarea.sidenav-toggled .navbar .navbar-left .navbar-brand {
    display: inline-flex !important;
  }
  .fmsid-clientarea .body-content .section-main {
    max-width: none !important;
    margin: 88px 28px 32px !important;
    padding: 0 !important;
  }
}

@media (max-width: 1260px) {
  .fmsid-clientarea .fmsid-client-crumbs { min-width: 180px !important; }
  .fmsid-clientarea .navbar-search { max-width: 300px !important; }
}

@media (max-width: 1120px) {
  .fmsid-clientarea .navbar-search { display: none !important; }
}

@media (max-width: 993px) {
  .fmsid-clientarea .navbar.sub-bar {
    display: none !important;
  }
  .fmsid-clientarea .navbar-left,
  .fmsid-clientarea .fmsid-client-navbar-left {
    width: 100% !important;
    flex: 1 1 auto !important;
    padding: 0 16px !important;
    justify-content: space-between !important;
  }
  .fmsid-clientarea .navbar-left .btn-toggler {
    display: flex !important;
    width: 38px !important;
    height: 38px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.22) !important;
    border-radius: 4px !important;
    color: rgba(255,255,255,.85) !important;
  }
  .fmsid-clientarea .navbar-left .btn-toggler:hover {
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
  }
  .fmsid-clientarea .sidebar {
    top: 64px !important;
    min-height: calc(100vh - 64px) !important;
  }
  .fmsid-clientarea .body-content .section-main {
    margin-top: 82px !important;
    padding: 12px !important;
  }
}

/* ---------- Sidebar --------------------------------------- */
.sidebar {
  background-color: #fff !important;
  border-right: 1px solid var(--border-default) !important;
  box-shadow: none !important;
}
.sidebar-heading {
  color: var(--fg-subtle) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}
.sidebar .nav-link {
  color: var(--fg-default) !important;
  border-radius: var(--radius) !important;
  font-size: 14px !important;
}
.sidebar .nav-link:hover {
  background-color: var(--neutral-50) !important;
  color: var(--brand-navy) !important;
}
.sidebar .nav-link.active {
  background-color: var(--brand-cyan-100) !important;
  color: var(--brand-cyan) !important;
}
.sidebar .nav-link i {
  color: var(--fg-muted) !important;
  font-size: 20px !important;
}
.sidebar .nav-link.active i {
  color: var(--brand-cyan) !important;
}

/* ---------- Primary colour overrides (was #3891f2 blue) --- */
.btn-primary,
.btn-success.navbar-order-toggler {
  background-color: var(--brand-cyan) !important;
  border-color: var(--brand-cyan) !important;
  color: #fff !important;
}
.btn-primary:hover, .btn-primary:focus {
  background-color: var(--brand-cyan-600) !important;
  border-color: var(--brand-cyan-600) !important;
}
.btn-primary:active { background-color: var(--brand-cyan-700) !important; }

.text-primary { color: var(--brand-cyan) !important; }
.bg-primary    { background-color: var(--brand-cyan) !important; }
.badge-primary { background-color: var(--brand-cyan) !important; }
.border-primary { border-color: var(--brand-cyan) !important; }

.nav-pills .nav-link.active,
.nav-pills .show > .nav-link {
  background-color: var(--brand-cyan) !important;
  color: #fff !important;
}

a { color: var(--brand-cyan) !important; }
a:hover { color: var(--brand-cyan-600) !important; }

/* Keep sidebar links from getting the global brand-red on all <a> */
.sidebar .nav-link { color: var(--fg-default) !important; }
.sidebar .nav-link:hover { color: var(--brand-navy) !important; }
.sidebar .nav-link.active { color: var(--brand-cyan) !important; }

/* Keep footer links neutral */
.footer a, .footer-box a { color: var(--fg-muted) !important; }
.footer a:hover, .footer-box a:hover { color: var(--brand-cyan) !important; }

/* Keep dropdown links neutral */
.dropdown-menu a.dropdown-item { color: var(--fg-default) !important; }
.dropdown-menu a.dropdown-item:hover { color: var(--brand-navy) !important; background-color: var(--neutral-50) !important; }

/* ---------- Cards / panels -------------------------------- */
.card {
  border-color: var(--border-default) !important;
  border-radius: var(--radius-md) !important;
  box-shadow: var(--shadow-sm) !important;
}
.card-header {
  background-color: var(--neutral-50) !important;
  border-bottom-color: var(--border-default) !important;
  font-weight: var(--fw-semibold) !important;
}

/* ---------- Forms ----------------------------------------- */
.form-control {
  border-color: var(--border-default) !important;
  border-radius: var(--radius) !important;
}
.form-control:focus {
  border-color: var(--brand-cyan) !important;
  box-shadow: 0 0 0 3px rgba(210,30,38,.2) !important;
}

/* ---------- Tables ---------------------------------------- */
.table thead th {
  background-color: var(--neutral-50) !important;
  color: var(--fg-muted) !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: .05em !important;
  border-bottom-color: var(--border-default) !important;
}
.table tbody tr:hover td { background-color: var(--neutral-50) !important; }

.fmsid-clientarea .table-responsive,
.fmsid-clientarea .table-borders,
.fmsid-clientarea .table-radius,
.fmsid-clientarea .info-box,
.fmsid-clientarea .nav-tabs-wrapper {
  background: #fff !important;
  border-color: var(--border-default, #E3E7EC) !important;
  border-radius: 6px !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
}
.fmsid-clientarea .table-responsive,
.fmsid-clientarea .table-borders,
.fmsid-clientarea .table-radius {
  overflow: hidden !important;
}
.fmsid-clientarea .table {
  margin-bottom: 0 !important;
  font-size: 13px !important;
}
.fmsid-clientarea .table thead th {
  padding: 10px 14px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
}
.fmsid-clientarea .table td {
  padding: 12px 14px !important;
  vertical-align: middle !important;
  border-color: var(--neutral-200, #E9EDF1) !important;
}
.fmsid-clientarea .table tbody tr:last-child td {
  border-bottom: 0 !important;
}
.fmsid-clientarea .sort-icon.material-icons {
  display: inline-block !important;
  width: 14px !important;
  margin-right: 5px !important;
  overflow: hidden !important;
  color: var(--fg-muted, #6B7787) !important;
  font-family: FontAwesome !important;
  font-size: 0 !important;
  font-style: normal !important;
  line-height: 1 !important;
  vertical-align: -1px !important;
}
.fmsid-clientarea .sort-icon.material-icons::before {
  content: "\f0dc";
  font-family: FontAwesome;
  font-size: 12px;
}
.fmsid-clientarea .table a .text-dark,
.fmsid-clientarea .table a.text-small {
  color: var(--brand-ink, #1A1416) !important;
  font-weight: 600 !important;
}
.fmsid-clientarea .table .text-secondary,
.fmsid-clientarea .table small {
  color: var(--fg-muted, #6B7787) !important;
}
.fmsid-clientarea .nav-tabs-wrapper {
  box-shadow: none !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  margin-bottom: 0 !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}
.fmsid-clientarea .nav-tabs {
  border-bottom-color: var(--border-default, #E3E7EC) !important;
  flex-wrap: nowrap !important;
  min-width: max-content !important;
}
.fmsid-clientarea .nav-tabs .nav-link {
  color: var(--fg-muted, #6B7787) !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  padding: 12px 14px !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.fmsid-clientarea .nav-tabs .nav-item.active .nav-link,
.fmsid-clientarea .nav-tabs .nav-link.active {
  color: var(--brand-red, #D21E26) !important;
  border-bottom-color: var(--brand-red, #D21E26) !important;
  background: #fff !important;
  font-weight: 600 !important;
}
.fmsid-clientarea .info-box {
  border: 1px solid var(--border-default, #E3E7EC) !important;
  padding: 16px !important;
  margin-top: 20px !important;
}
.fmsid-clientarea .info-box h3,
.fmsid-clientarea .card-header {
  color: var(--brand-ink, #1A1416) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  margin: 0 !important;
}
.fmsid-clientarea .btn-view-all {
  border-color: var(--border-default, #E3E7EC) !important;
  background: #fff !important;
  color: var(--fg-muted, #6B7787) !important;
}
.fmsid-clientarea .btn-view-all:hover {
  background: var(--neutral-50, #F8FAFC) !important;
  color: var(--brand-ink, #1A1416) !important;
}

.fmsid-page-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 12px;
  flex-wrap: wrap;
  margin-bottom: 18px;
}
.fmsid-page-head h1 {
  margin: 0;
  color: var(--brand-ink, #1A1416);
  font-size: 24px;
  line-height: 1.2;
  font-weight: 600;
}
.fmsid-page-head p {
  margin: 4px 0 0;
  color: var(--fg-muted, #6B7787);
  font-size: 13px;
}
.fmsid-section-title,
.fmsid-clientarea .section-dashboard > h3 {
  margin: 24px 0 10px !important;
  color: var(--brand-ink, #1A1416) !important;
  font-size: 17px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}
.fmsid-stat-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-bottom: 20px;
}
.fmsid-stat {
  background: #fff;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 6px;
  padding: 16px;
  display: flex;
  gap: 14px;
  align-items: center;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06));
  text-decoration: none !important;
  color: inherit !important;
  min-width: 0;
}
.fmsid-stat:hover {
  border-color: var(--neutral-400, #C7CFD8);
  background: #fff;
  text-decoration: none !important;
}
.fmsid-stat-icon {
  width: 44px;
  height: 44px;
  border-radius: 8px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 18px;
  flex: 0 0 auto;
}
.fmsid-stat-icon.tone-success { background: var(--success-100, #E4F4EB); color: var(--success, #2E8B57); }
.fmsid-stat-icon.tone-warning { background: var(--warning-100, #FBF1DA); color: var(--warning, #C98A1A); }
.fmsid-stat-icon.tone-info { background: var(--info-100, #E1ECF7); color: var(--info, #2A6BB5); }
.fmsid-stat-icon.tone-neutral { background: var(--neutral-100, #F4F6F8); color: var(--neutral-700, #4A5462); }
.fmsid-stat-meta {
  min-width: 0;
  display: flex;
  flex-direction: column;
}
.fmsid-stat-label {
  color: var(--fg-muted, #6B7787);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .05em;
  line-height: 1.2;
  text-transform: uppercase;
}
.fmsid-stat-value {
  color: var(--brand-ink, #1A1416);
  font-size: 24px;
  font-weight: 700;
  line-height: 1.1;
  margin-top: 2px;
}
.fmsid-stat-delta {
  color: var(--fg-muted, #6B7787);
  font-size: 12px;
  line-height: 1.3;
  margin-top: 2px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
@media (max-width: 1190px) {
  .fmsid-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .fmsid-stat-grid { grid-template-columns: 1fr; }
  .fmsid-page-head .btn { width: 100%; justify-content: center; }
}

/* ---------- Alerts ---------------------------------------- */
.alert-primary {
  background-color: var(--brand-cyan-100) !important;
  border-color: var(--brand-cyan) !important;
  color: var(--brand-cyan-700) !important;
}

/* ---------- Status badges --------------------------------- */
.badge-Active, .badge-Paid {
  background-color: var(--success-100) !important;
  color: var(--success) !important;
}
.badge-Unpaid, .badge-Expired, .badge-Terminated {
  background-color: var(--danger-100) !important;
  color: var(--danger) !important;
}
.badge-Pending, .badge-Fraud {
  background-color: var(--warning-100) !important;
  color: var(--warning) !important;
}

/* ---------- Body content area ----------------------------- */
.body-content {
  background-color: var(--bg-page) !important;
}
.section-main {
  padding: 24px !important;
}
body.fmsid-clientarea {
  display: block !important;
  overflow-x: hidden !important;
}
@media (min-width: 994px) {
  body.fmsid-clientarea .body-content,
  body.fmsid-clientarea.sidenav-toggled .body-content {
    flex: none !important;
    margin-left: 240px !important;
    width: calc(100% - 240px) !important;
    max-width: none !important;
  }
  body.fmsid-clientarea .footer-content,
  body.fmsid-clientarea.sidenav-toggled .footer-content {
    margin-left: 240px !important;
    width: calc(100% - 240px) !important;
    max-width: none !important;
  }
  body.fmsid-clientarea .body-content .section-main {
    margin: 88px 28px 32px !important;
    width: auto !important;
  }
}
@media (max-width: 993px) {
  body.fmsid-clientarea .body-content,
  body.fmsid-clientarea .footer-content {
    margin-left: 0 !important;
    width: 100% !important;
    max-width: 100% !important;
  }
  body.fmsid-clientarea .body-content .section-main {
    margin: 82px 0 28px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
  }
  body.fmsid-clientarea .section-dashboard > .row {
    margin-left: 0 !important;
    margin-right: 0 !important;
  }
  body.fmsid-clientarea .section-dashboard > .row > [class*="col-"] {
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}

/* ---------- Footer ---------------------------------------- */
.footer {
  border-top: 1px solid var(--border-default) !important;
  background: transparent !important;
}
.footer-content {
  background: transparent !important;
}
.footer-box {
  display: flex !important;
  justify-content: space-between !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 12px !important;
}

/* ---------- Marketing homepage — root.tpl ----------------- */
.mk-root {
  margin: -24px;  /* break out of section-main padding */
}

/* Hero */
.mk-hero {
  position: relative;
  min-height: 420px;
  background-size: cover;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  color: #fff;
  overflow: hidden;
}
.mk-hero-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15,22,38,.55), rgba(15,22,38,.82));
}
.mk-hero-inner {
  position: relative;
  text-align: center;
  max-width: 720px;
  padding: 48px 24px;
}
.mk-eyebrow {
  display: block;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--brand-cyan);
  margin-bottom: 14px;
}
.mk-h1 {
  font-size: 44px;
  line-height: 1.1;
  font-weight: 700;
  color: #fff;
  margin: 0 0 16px;
}
.mk-sub {
  font-size: 17px;
  line-height: 1.6;
  color: rgba(255,255,255,.85);
  margin: 0 0 28px;
}
.mk-cta-row {
  display: flex;
  gap: 12px;
  justify-content: center;
  flex-wrap: wrap;
}
.mk-btn-hero {
  padding: 11px 24px;
  border-radius: var(--radius);
  font-size: 15px;
  font-weight: 600;
  text-decoration: none !important;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  transition: background .15s, border-color .15s;
  line-height: 1;
}
.mk-btn-hero-primary {
  background: var(--brand-cyan);
  border: 1px solid var(--brand-cyan);
  color: #fff !important;
}
.mk-btn-hero-primary:hover {
  background: var(--brand-cyan-600) !important;
  color: #fff !important;
}
.mk-btn-hero-outline {
  background: transparent;
  border: 1px solid rgba(255,255,255,.5);
  color: #fff !important;
}
.mk-btn-hero-outline:hover {
  background: rgba(255,255,255,.12) !important;
  color: #fff !important;
}

/* Sections */
.mk-section {
  padding: 56px 40px;
}
.mk-h2 {
  font-size: 28px;
  font-weight: 700;
  color: var(--brand-navy);
  margin: 0 0 8px;
  text-align: center;
}
.mk-section-sub {
  font-size: 15px;
  color: var(--fg-muted);
  text-align: center;
  margin: 0 auto 36px;
  max-width: 600px;
}

/* Product tiles */
.mk-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 18px;
}
@media (max-width: 900px) { .mk-grid { grid-template-columns: repeat(2,1fr); } }
@media (max-width: 540px) { .mk-grid { grid-template-columns: 1fr; } .mk-h1 { font-size: 30px; } }

.mk-tile {
  background: #fff;
  border: 1px solid var(--border-default);
  border-radius: var(--radius-md);
  padding: 22px 18px;
  text-decoration: none !important;
  color: inherit !important;
  display: flex;
  flex-direction: column;
  gap: 6px;
  box-shadow: var(--shadow-sm);
  transition: box-shadow .15s, transform .15s;
}
.mk-tile:hover {
  box-shadow: var(--shadow-md) !important;
  transform: translateY(-2px);
  color: inherit !important;
}
.mk-tile-icon {
  width: 52px; height: 52px;
  border-radius: 999px;
  background: var(--brand-cyan-100);
  color: var(--brand-cyan) !important;
  display: flex; align-items: center; justify-content: center;
  font-size: 22px; margin-bottom: 8px;
}
.mk-tile-title { font-size: 17px; font-weight: 600; color: var(--brand-navy) !important; margin: 0; }
.mk-tile-desc { font-size: 13px; color: var(--fg-muted) !important; line-height: 1.55; flex: 1; margin: 0; }
.mk-tile-cta { font-size: 13px; color: var(--brand-cyan) !important; font-weight: 600; margin-top: 10px; }

/* Trust strip */
.mk-trust {
  background: #fff;
  border-top: 1px solid var(--border-default);
  border-bottom: 1px solid var(--border-default);
  padding: 36px 40px;
}
.mk-trust-grid {
  display: grid; grid-template-columns: repeat(4,1fr); gap: 24px;
}
@media (max-width: 900px) { .mk-trust-grid { grid-template-columns: repeat(2,1fr); } }
.mk-trust-item { display: flex; gap: 14px; align-items: flex-start; }
.mk-trust-item i { font-size: 22px; color: var(--brand-cyan) !important; width: 26px; flex-shrink: 0; margin-top: 3px; }
.mk-trust-item b { display: block; font-weight: 600; color: var(--brand-navy); font-size: 14px; margin-bottom: 2px; }
.mk-trust-item span { font-size: 13px; color: var(--fg-muted); }

/* Pricing plans */
.mk-plans {
  display: grid; grid-template-columns: repeat(3,1fr); gap: 18px;
  max-width: 860px; margin: 0 auto;
}
@media (max-width: 700px) { .mk-plans { grid-template-columns: 1fr; } }
.mk-plan {
  background: #fff;
  border: 1px solid var(--border-default); border-radius: var(--radius-md);
  padding: 28px 22px; position: relative;
  display: flex; flex-direction: column; gap: 14px;
  box-shadow: var(--shadow-sm);
}
.mk-plan.is-featured {
  border-color: var(--brand-cyan);
  box-shadow: 0 0 0 1px var(--brand-cyan), var(--shadow-md);
}
.mk-plan-flag {
  position: absolute; top: -13px; left: 50%; transform: translateX(-50%);
  background: var(--brand-cyan); color: #fff;
  font-size: 11px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase; padding: 4px 12px; border-radius: 999px;
  white-space: nowrap;
}
.mk-plan-name { font-size: 12px; font-weight: 700; color: var(--fg-muted); text-transform: uppercase; letter-spacing: .06em; }
.mk-plan-price { display: flex; align-items: baseline; gap: 4px; }
.mk-amount { font-size: 34px; font-weight: 700; color: var(--brand-navy); line-height: 1; }
.mk-period { color: var(--fg-muted); font-size: 13px; }
.mk-plan-feat { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 8px; font-size: 14px; color: var(--neutral-800); flex: 1; }
.mk-plan-feat li { display: flex; align-items: flex-start; gap: 8px; }
.mk-plan-feat li i { color: var(--success) !important; width: 14px; flex-shrink: 0; margin-top: 2px; }
.mk-plan-action { margin-top: 4px; }

/* ---------- btn-secondary — design guide spec --------------- */
.btn-secondary {
  background-color: #fff !important;
  color: var(--brand-navy, #1A1416) !important;
  border-color: var(--border-default, #E3E7EC) !important;
}
.btn-secondary:hover, .btn-secondary:focus {
  background-color: var(--neutral-50, #F8FAFC) !important;
  border-color: var(--border-strong, #C7CFD8) !important;
  color: var(--brand-navy, #1A1416) !important;
}

/* ---------- Login modal — design guide LoginPanel style ----- */
#loginModal .modal-content {
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 6px !important;
  box-shadow: 0 6px 18px rgba(15,30,60,.12) !important;
}
#loginModal .modal-header {
  padding: 12px 16px !important;
  border-bottom: 1px solid var(--border-default, #E3E7EC) !important;
  background: transparent !important;
}
#loginModal .modal-title {
  font-size: 16px !important;
  font-weight: 600 !important;
  color: var(--brand-navy, #1A1416) !important;
  margin: 0 !important;
}
#loginModal .modal-body {
  padding: 16px !important;
}
/* Static label style matching design guide */
.fmsid-label,
#loginModal .form-label-placeholder,
#loginModal label {
  display: block !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--neutral-700, #4A5462) !important;
  margin-bottom: 4px !important;
}
/* Floating label group — pin label to top */
#loginModal .form-label-group {
  position: relative !important;
  padding-top: 0 !important;
}
#loginModal .form-label-group > .form-label-placeholder {
  position: static !important;
  transform: none !important;
  font-size: 13px !important;
  padding: 0 !important;
  line-height: 1 !important;
  pointer-events: none !important;
}
#loginModal .form-control,
.fmsid-input {
  padding: 8px 12px !important;
  font-size: 14px !important;
  border-color: var(--border-default, #E3E7EC) !important;
  border-radius: 4px !important;
  line-height: 1.4 !important;
  height: auto !important;
}
#loginModal .form-control:focus,
.fmsid-input:focus {
  border-color: var(--brand-cyan, #D21E26) !important;
  box-shadow: 0 0 0 3px rgba(210,30,38,.2) !important;
}
/* Override the oversized btn-lg w-50 submit button */
#loginModal .btn-lg {
  font-size: 14px !important;
  padding: 8px 16px !important;
  line-height: 1.4 !important;
  border-radius: 4px !important;
}
#loginModal .w-50 { width: auto !important; }
/* Also keep the non-modal login form consistent */
.lg-login-form {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.form-credentials .form-label-placeholder {
  font-size: 13px !important;
  font-weight: 500 !important;
  color: var(--neutral-700, #4A5462) !important;
}
.form-credentials .form-control {
  padding: 8px 12px !important;
  border-radius: 4px !important;
  border-color: var(--border-default, #E3E7EC) !important;
}
.form-credentials .form-control:focus {
  border-color: var(--brand-cyan, #D21E26) !important;
  box-shadow: 0 0 0 3px rgba(210,30,38,.2) !important;
}

/* ============================================================
   Public subnav — white 44px product-category bar (nav.html)
   ============================================================ */
.fmsid-subnav {
  min-height: 44px;
  background: #fff;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  display: flex;
  align-items: center;
  padding: 0 24px;
  overflow-x: auto;
}
.fmsid-subnav-inner {
  width: 100%;
  max-width: 1170px;
  min-width: max-content;
  margin: 0 auto;
  display: flex;
  align-items: center;
  gap: 4px;
}
.fmsid-subnav-link {
  color: var(--fg-muted, #6B7787) !important;
  text-decoration: none !important;
  min-height: 44px;
  padding: 0 12px;
  border-bottom: 2px solid transparent;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 500;
  margin-bottom: -1px;
  line-height: 1;
  display: inline-flex;
  align-items: center;
}
.fmsid-subnav-link:hover {
  color: var(--brand-navy, #1A1416) !important;
  text-decoration: none !important;
}
.fmsid-subnav-link.on {
  color: var(--brand-cyan, #D21E26) !important;
  border-bottom-color: var(--brand-cyan, #D21E26) !important;
  font-weight: 600 !important;
}

@media (max-width: 575.98px) {
  .fmsid-subnav { padding: 0 12px; }
  .fmsid-subnav-link { padding: 0 10px; }
}

/* ============================================================
   Login page — full design from login.html
   ============================================================ */
.lg-page { margin: -24px; }
.lg-single {
  max-width: 480px;
  margin: 48px auto;
  padding: 0 24px;
}

/* Breadcrumb subnav */
.lg-subnav {
  height: 44px;
  background: #fff;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 8px;
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
}
.lg-subnav a { color: var(--fg-muted, #6B7787) !important; text-decoration: none !important; }
.lg-subnav a:hover { color: var(--brand-navy, #1A1416) !important; }
.lg-subnav i { color: #D21E26; }
.lg-subnav .sep { color: var(--neutral-400, #C7CFD8); }
.lg-subnav .current { color: var(--brand-navy, #1A1416); font-weight: 600; }

/* Two-column layout */
.lg-wrap {
  display: grid;
  grid-template-columns: 1fr 1fr;
  max-width: 1170px;
  margin: 0 auto;
  width: 100%;
  padding: 48px 24px;
  gap: 48px;
  align-items: start;
  box-sizing: border-box;
}

/* Left: intro + benefits */
.lg-intro { padding-top: 8px; }
.lg-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: #D21E26;
  margin-bottom: 14px;
}
.lg-h1 {
  font-size: 36px;
  font-weight: 200;
  color: #1A1416;
  line-height: 1.15;
  margin: 0 0 8px;
  letter-spacing: 0;
}
.lg-h1 b { font-weight: 900; color: #D21E26; }
.lg-sub {
  font-size: 15px;
  color: var(--fg-muted, #6B7787);
  max-width: 440px;
  line-height: 1.55;
  margin: 0 0 28px;
}
.lg-perks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
  max-width: 440px;
}
.lg-perks li {
  display: flex;
  gap: 12px;
  font-size: 13.5px;
  color: var(--neutral-700, #4A5462);
  align-items: flex-start;
}
.lg-perks li > .lg-perk-icon {
  width: 32px;
  height: 32px;
  min-width: 32px;
  border-radius: 6px;
  background: var(--brand-cyan-100, #FCE6E6);
  color: #D21E26 !important;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 13px;
}
.lg-perks li b { display: block; font-weight: 600; color: #1A1416; margin-bottom: 2px; font-size: 14px; }
.lg-perks li p { margin: 0; }

/* Right: login card */
.lg-card {
  background: #fff;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 8px;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10));
  overflow: hidden;
  max-width: 480px;
  width: 100%;
  justify-self: end;
}
.lg-card-head {
  padding: 22px 28px 18px;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  background: linear-gradient(180deg, #fff 0%, #FAFBFC 100%);
}
.lg-card-h {
  margin: 0 0 4px;
  font-size: 20px;
  font-weight: 600;
  color: #1A1416;
  display: flex;
  gap: 10px;
  align-items: center;
}
.lg-card-h .lg-pill {
  font-family: var(--font-mono, monospace);
  font-size: 10px;
  font-weight: 600;
  background: var(--brand-cyan-100, #FCE6E6);
  color: #D21E26;
  padding: 3px 8px;
  border-radius: 999px;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.lg-card-sub {
  margin: 0;
  font-size: 13px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.5;
}
.lg-form {
  padding: 24px 28px 28px;
  display: flex;
  flex-direction: column;
  gap: 14px;
}

/* Form fields */
.lg-field { display: flex; flex-direction: column; gap: 6px; }
.lg-field-label {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  font-weight: 500;
  color: var(--neutral-700, #4A5462);
}
.lg-field-label a { font-size: 12px; color: var(--brand-cyan, #D21E26) !important; }
.lg-input-wrap { position: relative; }
.lg-input-wrap > .fa {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--neutral-500, #94A0AE);
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
}
.lg-input-wrap .form-control { padding-left: 36px !important; }
.lg-input-wrap .lg-pw-control { padding-right: 44px !important; }
.lg-pw-toggle {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  background: transparent;
  border: 0;
  color: var(--fg-muted, #6B7787);
  cursor: pointer;
  font-size: 14px;
  padding: 6px;
  line-height: 1;
}
.lg-pw-toggle .fa {
  position: static !important;
  transform: none !important;
  color: inherit !important;
  font-size: 14px !important;
  pointer-events: auto !important;
}
.lg-pw-toggle:hover { color: var(--brand-navy, #1A1416); }

/* Captcha */
.lg-captcha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(104px, 32vw, 140px);
  gap: 10px;
  align-items: start;
}
.lg-captcha .lg-input-wrap .form-control {
  height: 42px !important;
}
.lg-captcha-media {
  min-width: 0;
}
.lg-captcha-img {
  width: 100%;
  height: 42px;
  border-radius: 4px;
  border: 1px solid var(--border-default, #E3E7EC);
  background: #fff;
  display: block;
  object-fit: cover;
}
.lg-captcha-refresh {
  font-size: 11px;
  color: var(--brand-cyan, #D21E26) !important;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 4px 0;
  display: inline-flex;
  gap: 4px;
  align-items: center;
  font-family: var(--font-sans);
  margin-top: 4px;
}
.lg-captcha-refresh:hover { text-decoration: underline; }
.lg-field-help {
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.45;
}

/* Actions, divider, register row */
.lg-actions { display: flex; gap: 10px; align-items: center; margin-top: 6px; }
.lg-actions .btn-primary {
  flex: 1;
  justify-content: center;
  font-size: 14px;
  gap: 8px;
  padding: 10px 18px !important;
}
.lg-divider {
  display: flex;
  align-items: center;
  gap: 10px;
  color: var(--fg-subtle, #94A0AE);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: .1em;
  margin: 2px 0;
}
.lg-divider::before, .lg-divider::after { content: ""; flex: 1; height: 1px; background: var(--border-default, #E3E7EC); }
.lg-register {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 13px;
  color: var(--fg-muted, #6B7787);
}
.lg-register a { font-weight: 600; }

/* Responsive */
@media (max-width: 880px) {
  .lg-wrap { grid-template-columns: 1fr; gap: 24px; padding: 24px 16px; }
  .lg-card { justify-self: stretch; max-width: none; }
  .lg-h1 { font-size: 28px; }
}
@media (max-width: 520px) {
  .lg-single { margin: 24px auto; padding: 0 16px; }
  .lg-card-head,
  .lg-form { padding-left: 18px; padding-right: 18px; }
  .lg-captcha { gap: 8px; }
  .lg-register { align-items: stretch; flex-direction: column; gap: 10px; }
  .lg-register .btn { justify-content: center; }
}

/* ============================================================
   New support ticket page — design-system implementation
   ============================================================ */
.tk-page {
  margin: -24px;
  background: var(--bg-page, #F4F6F8);
}
.tk-breadcrumb {
  height: 44px;
  background: #fff;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 8px;
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
}
.tk-breadcrumb a {
  color: var(--fg-muted, #6B7787) !important;
  text-decoration: none !important;
}
.tk-breadcrumb a:hover { color: var(--brand-navy, #1A1416) !important; }
.tk-breadcrumb .fa { color: var(--brand-cyan, #D21E26); }
.tk-breadcrumb .sep { color: var(--neutral-400, #C7CFD8); }
.tk-breadcrumb .current {
  color: var(--brand-navy, #1A1416);
  font-weight: 600;
}
.tk-wrap {
  display: grid;
  grid-template-columns: 340px minmax(0, 1fr);
  max-width: 1170px;
  margin: 0 auto;
  width: 100%;
  padding: 36px 24px;
  gap: 36px;
  align-items: start;
  box-sizing: border-box;
}
.tk-intro {
  padding-top: 8px;
  position: sticky;
  top: 88px;
}
.tk-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--brand-cyan, #D21E26);
  margin-bottom: 14px;
}
.tk-h1 {
  font-size: 30px;
  font-weight: 200;
  color: var(--brand-navy, #1A1416);
  line-height: 1.15;
  margin: 0 0 8px;
  letter-spacing: 0;
}
.tk-h1 b {
  font-weight: 900;
  color: var(--brand-cyan, #D21E26);
}
.tk-sub {
  font-size: 14px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.55;
  margin: 0 0 22px;
}
.tk-perks {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.tk-perks li {
  display: flex;
  gap: 12px;
  font-size: 13px;
  color: var(--neutral-700, #4A5462);
  align-items: flex-start;
  line-height: 1.5;
}
.tk-perk-icon {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: var(--brand-cyan-100, #FCE6E6);
  color: var(--brand-cyan, #D21E26) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex: 0 0 30px;
}
.tk-perks li b {
  display: block;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
  margin-bottom: 2px;
  font-size: 13.5px;
}
.tk-perks li span:not(.tk-perk-icon) {
  color: var(--fg-muted, #6B7787);
}
.tk-altcard {
  margin-top: 22px;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 8px;
  padding: 14px;
  background: #fff;
  display: flex;
  gap: 12px;
  align-items: flex-start;
}
.tk-alt-icon {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--brand-navy, #1A1416);
  color: #fff !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 34px;
}
.tk-altcard b {
  display: block;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
  margin-bottom: 2px;
  font-size: 13.5px;
}
.tk-altcard span {
  display: block;
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.5;
}
.tk-altcard a {
  color: var(--brand-cyan, #D21E26) !important;
  font-weight: 600;
  font-size: 12.5px;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-top: 6px;
  text-decoration: none !important;
}
.tk-altcard a:hover { text-decoration: underline !important; }
.tk-card {
  background: #fff;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 8px;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10));
  overflow: hidden;
  min-width: 0;
}
.tk-card-head {
  padding: 20px 28px 16px;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  background: linear-gradient(180deg, #fff 0%, #FAFBFC 100%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.tk-card-h {
  margin: 0 0 2px;
  font-size: 18px;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
}
.tk-card-sub {
  margin: 0;
  font-size: 13px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.5;
}
.tk-card-stat {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  color: var(--success, #2E8B57);
  background: var(--success-100, #E4F4EB);
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 600;
}
.tk-card-stat .fa {
  font-size: 7px;
}
.tk-form {
  padding: 22px 28px 26px;
  display: flex;
  flex-direction: column;
  gap: 16px;
}
.tk-row {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}
.tk-field {
  display: flex;
  flex-direction: column;
  gap: 6px;
  min-width: 0;
}
.tk-label {
  display: block;
  font-size: 13px;
  font-weight: 500;
  color: var(--neutral-700, #4A5462);
  margin: 0;
}
.tk-field-help {
  display: block;
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.45;
}
.tk-input-wrap {
  position: relative;
  min-width: 0;
}
.tk-input-wrap > .fa {
  position: absolute;
  left: 12px;
  top: 50%;
  transform: translateY(-50%);
  color: var(--neutral-500, #94A0AE);
  font-size: 14px;
  pointer-events: none;
  z-index: 1;
}
.tk-input-wrap .form-control {
  padding-left: 36px !important;
  min-height: 42px;
}
.tk-dept-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
  gap: 8px;
}
.tk-dept {
  position: relative;
  cursor: pointer;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 6px;
  padding: 10px 12px;
  display: flex;
  gap: 10px;
  align-items: center;
  background: #fff;
  min-width: 0;
  transition: border-color .15s, box-shadow .15s, background .15s;
}
.tk-dept:hover {
  border-color: var(--brand-cyan, #D21E26);
  background: #FFFAFA;
}
.tk-dept:focus-within {
  border-color: var(--brand-cyan, #D21E26);
  box-shadow: var(--shadow-focus, 0 0 0 3px rgba(210,30,38,.25));
}
.tk-dept input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.tk-dept-icon {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--neutral-100, #F4F6F8);
  color: var(--brand-navy, #1A1416) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 14px;
  flex: 0 0 34px;
}
.tk-dept-copy {
  display: block;
  min-width: 0;
}
.tk-dept-copy b {
  display: block;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
  font-size: 13px;
  line-height: 1.2;
}
.tk-dept-copy span {
  font-size: 11px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.3;
  display: block;
  margin-top: 2px;
}
.tk-dept input:checked ~ .tk-dept-icon {
  background: var(--brand-cyan, #D21E26);
  color: #fff !important;
}
.tk-dept input:checked ~ .tk-dept-copy b,
.tk-dept input:checked ~ .tk-dept-copy span {
  color: var(--brand-cyan, #D21E26);
}
.tk-dept input:checked ~ .tk-dept-copy {
  font-weight: 600;
}
.tk-dept:has(input:checked) {
  border-color: var(--brand-cyan, #D21E26);
  background: var(--brand-cyan-100, #FCE6E6);
  box-shadow: inset 0 0 0 1px var(--brand-cyan, #D21E26);
}
.tk-dept-details {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.tk-prio-row {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}
.tk-prio {
  position: relative;
  cursor: pointer;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 999px;
  padding: 6px 12px;
  font-size: 13px;
  color: var(--neutral-700, #4A5462);
  display: inline-flex;
  gap: 6px;
  align-items: center;
  margin: 0;
}
.tk-prio input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.tk-prio:hover {
  border-color: var(--brand-cyan, #D21E26);
  color: var(--brand-cyan, #D21E26);
}
.tk-prio .dot {
  width: 7px;
  height: 7px;
  border-radius: 999px;
}
.tk-prio .is-low { background: var(--neutral-500, #94A0AE); }
.tk-prio .is-medium { background: var(--info, #2A6BB5); }
.tk-prio .is-high { background: var(--warning, #C98A1A); }
.tk-prio:has(input:checked) {
  border-color: var(--brand-cyan, #D21E26);
  background: var(--brand-cyan-100, #FCE6E6);
  color: var(--brand-cyan, #D21E26);
  font-weight: 600;
}
.tk-ta-toolbar {
  display: flex;
  gap: 2px;
  border: 1px solid var(--border-default, #E3E7EC);
  border-bottom: 0;
  border-radius: 4px 4px 0 0;
  background: var(--neutral-50, #F8FAFC);
  padding: 4px;
}
.tk-ta-toolbar button {
  background: transparent;
  border: 0;
  padding: 5px 8px;
  color: var(--fg-muted, #6B7787);
  cursor: pointer;
  border-radius: 3px;
  font-size: 13px;
  font-family: inherit;
  line-height: 1;
}
.tk-ta-toolbar button:hover {
  background: #fff;
  color: var(--brand-navy, #1A1416);
}
.tk-ta-toolbar .sep {
  width: 1px;
  background: var(--border-default, #E3E7EC);
  margin: 0 4px;
}
.tk-textarea {
  min-height: 150px;
  resize: vertical;
  border-top-left-radius: 0 !important;
  border-top-right-radius: 0 !important;
}
.tk-textarea-meta {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  font-size: 11px;
  color: var(--fg-subtle, #94A0AE);
  font-family: var(--font-mono, monospace);
}
.tk-widget:empty {
  display: none;
}
.tk-fileupload #dropzonecontainer {
  border: 1.5px dashed var(--neutral-400, #C7CFD8);
  border-radius: 6px;
  background: var(--neutral-50, #F8FAFC);
  transition: border-color .15s, background .15s;
}
.tk-fileupload #dropzonecontainer:hover {
  border-color: var(--brand-cyan, #D21E26);
  background: #FFFAFA;
}
.tk-fileupload #dropzone {
  border-radius: 6px;
  background: var(--brand-cyan-100, #FCE6E6);
  color: var(--brand-navy, #1A1416);
}
.tk-fileupload #dropzone h1 {
  font-size: 16px;
  font-weight: 600;
  margin: 0;
  color: var(--brand-navy, #1A1416);
}
.tk-drop {
  min-height: 116px;
  padding: 20px;
  text-align: center;
  color: var(--fg-muted, #6B7787);
  display: flex !important;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
}
.tk-drop .fa {
  font-size: 24px;
  color: var(--brand-cyan, #D21E26);
  margin-bottom: 4px;
}
.tk-drop b {
  display: block;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
  font-size: 13.5px;
}
.tk-drop span {
  display: block;
  font-size: 11.5px;
  color: var(--fg-muted, #6B7787);
}
.tk-fileupload .table-files {
  margin-bottom: 0;
}
.tk-check {
  display: flex;
  align-items: center;
  gap: 9px;
  font-size: 13px;
  color: var(--neutral-700, #4A5462);
  margin: 0;
  cursor: pointer;
}
.tk-check input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}
.tk-check > span {
  width: 16px;
  height: 16px;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 3px;
  background: #fff;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 16px;
}
.tk-check input:checked + span {
  background: var(--brand-cyan, #D21E26);
  border-color: var(--brand-cyan, #D21E26);
}
.tk-check input:checked + span::after {
  content: "\f00c";
  font-family: FontAwesome;
  color: #fff;
  font-size: 10px;
}
.tk-check b {
  font-weight: 500;
  color: var(--neutral-700, #4A5462);
}
.tk-contact-options {
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 6px;
  padding: 12px;
  background: var(--neutral-50, #F8FAFC);
}
.tk-contact-options .overrideContactsTable {
  margin-top: 12px;
}
.tk-captcha {
  display: grid;
  grid-template-columns: minmax(0, 1fr) clamp(104px, 32vw, 140px);
  gap: 10px;
  align-items: start;
}
.tk-captcha .form-control {
  height: 42px !important;
}
.tk-captcha-media {
  min-width: 0;
}
.tk-captcha-img {
  width: 100%;
  height: 42px;
  border-radius: 4px;
  border: 1px solid var(--border-default, #E3E7EC);
  background: #fff;
  display: block;
  object-fit: cover;
}
.tk-captcha-refresh {
  font-size: 11px;
  color: var(--brand-cyan, #D21E26) !important;
  background: transparent;
  border: 0;
  cursor: pointer;
  padding: 4px 0;
  display: inline-flex;
  gap: 4px;
  align-items: center;
  font-family: var(--font-sans);
  margin-top: 4px;
}
.tk-captcha-refresh:hover { text-decoration: underline; }
.tk-actions {
  display: flex;
  gap: 10px;
  justify-content: space-between;
  align-items: center;
  margin-top: 8px;
  padding-top: 16px;
  border-top: 1px solid var(--border-default, #E3E7EC);
}
.tk-action-note {
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.5;
}
.tk-action-buttons {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.tk-action-buttons .btn {
  padding: 10px 18px !important;
  justify-content: center;
}

@media (max-width: 980px) {
  .tk-wrap {
    grid-template-columns: 1fr;
    padding: 24px 16px;
    gap: 24px;
  }
  .tk-intro {
    position: static;
  }
}
@media (max-width: 680px) {
  .tk-card-head,
  .tk-form {
    padding-left: 18px;
    padding-right: 18px;
  }
  .tk-row {
    grid-template-columns: 1fr;
  }
  .tk-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .tk-action-buttons {
    flex-direction: column-reverse;
  }
  .tk-action-buttons .btn {
    width: 100%;
  }
}
@media (max-width: 520px) {
  .tk-breadcrumb {
    padding: 0 16px;
  }
  .tk-captcha {
    gap: 8px;
  }
}

.legal-page {
  margin: -24px;
  background: var(--bg-page, #F4F6F8);
  min-height: calc(100vh - 120px);
}
.legal-breadcrumb {
  height: 44px;
  background: #fff;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 8px;
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
}
.legal-breadcrumb a {
  color: var(--fg-muted, #6B7787) !important;
  text-decoration: none !important;
}
.legal-breadcrumb a:hover {
  color: var(--brand-navy, #1A1416) !important;
}
.legal-breadcrumb .fa {
  color: var(--brand-cyan, #D21E26);
}
.legal-breadcrumb .sep {
  color: var(--neutral-400, #C7CFD8);
}
.legal-breadcrumb .current {
  color: var(--brand-navy, #1A1416);
  font-weight: 600;
}
.legal-wrap {
  display: grid;
  grid-template-columns: 300px minmax(0, 1fr);
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
  padding: 36px 24px;
  gap: 32px;
  align-items: start;
  box-sizing: border-box;
}
.legal-intro {
  padding-top: 8px;
  position: sticky;
  top: 88px;
}
.legal-eyebrow {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  color: var(--brand-cyan, #D21E26);
  margin-bottom: 14px;
}
.legal-h1 {
  font-size: 30px;
  font-weight: 900;
  color: var(--brand-navy, #1A1416);
  line-height: 1.15;
  margin: 0 0 8px;
  letter-spacing: 0;
}
.legal-sub {
  font-size: 14px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.55;
  margin: 0 0 22px;
}
.legal-meta {
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.legal-meta li {
  display: flex;
  gap: 12px;
  font-size: 13px;
  color: var(--neutral-700, #4A5462);
  align-items: flex-start;
  line-height: 1.5;
}
.legal-meta-icon {
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: var(--brand-cyan-100, #FCE6E6);
  color: var(--brand-cyan, #D21E26) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 12px;
  flex: 0 0 30px;
}
.legal-meta b {
  display: block;
  font-size: 13.5px;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
  margin-bottom: 2px;
}
.legal-meta span,
.legal-meta a {
  color: var(--fg-muted, #6B7787);
}
.legal-card {
  background: #fff;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 8px;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10));
  overflow: hidden;
  min-width: 0;
}
.legal-card-head {
  padding: 20px 28px 16px;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  background: linear-gradient(180deg, #fff 0%, #FAFBFC 100%);
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 16px;
  flex-wrap: wrap;
}
.legal-card-h {
  margin: 0 0 2px;
  font-size: 18px;
  font-weight: 600;
  color: var(--brand-navy, #1A1416);
}
.legal-card-sub {
  margin: 0;
  font-size: 13px;
  color: var(--fg-muted, #6B7787);
  line-height: 1.5;
}
.legal-card-stat {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 12px;
  color: var(--brand-cyan, #D21E26);
  background: var(--brand-cyan-100, #FCE6E6);
  padding: 5px 10px;
  border-radius: 999px;
  font-weight: 600;
}
.legal-content {
  padding: 24px 28px 30px;
  color: var(--neutral-700, #4A5462);
  font-size: 14px;
  line-height: 1.65;
}
.legal-content h3 {
  margin: 22px 0 8px;
  color: var(--brand-navy, #1A1416);
  font-size: 15px;
  font-weight: 700;
}
.legal-section-title {
  display: flex;
  align-items: center;
  gap: 8px;
}
.legal-section-icon {
  width: 24px;
  height: 24px;
  border-radius: 6px;
  background: var(--brand-cyan-100, #FCE6E6);
  color: var(--brand-cyan, #D21E26) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 11px;
  flex: 0 0 24px;
}
.legal-content h3:first-child {
  margin-top: 0;
}
.legal-content p {
  margin: 0 0 14px;
}
.legal-content strong {
  color: var(--brand-navy, #1A1416);
  font-weight: 700;
}
.legal-content a {
  color: var(--brand-cyan, #D21E26) !important;
  font-weight: 600;
}

@media (max-width: 980px) {
  .legal-wrap {
    grid-template-columns: 1fr;
    padding: 24px 16px;
    gap: 24px;
  }
  .legal-intro {
    position: static;
  }
}
@media (max-width: 680px) {
  .legal-card-head,
  .legal-content {
    padding-left: 18px;
    padding-right: 18px;
  }
}
@media (max-width: 520px) {
  .legal-breadcrumb {
    padding: 0 16px;
  }
}

.nf-page {
  margin: -24px;
  background: var(--bg-page, #F4F6F8);
  min-height: calc(100vh - 120px);
}
.nf-breadcrumb {
  height: 44px;
  background: #fff;
  border-bottom: 1px solid var(--border-default, #E3E7EC);
  display: flex;
  align-items: center;
  padding: 0 24px;
  gap: 8px;
  font-size: 12px;
  color: var(--fg-muted, #6B7787);
}
.nf-breadcrumb a {
  color: var(--fg-muted, #6B7787) !important;
  text-decoration: none !important;
}
.nf-breadcrumb a:hover {
  color: var(--brand-navy, #1A1416) !important;
}
.nf-breadcrumb .fa {
  color: var(--brand-cyan, #D21E26);
}
.nf-breadcrumb .sep {
  color: var(--neutral-400, #C7CFD8);
}
.nf-breadcrumb .current {
  color: var(--brand-navy, #1A1416);
  font-weight: 600;
}
.nf-wrap {
  max-width: 980px;
  width: 100%;
  margin: 0 auto;
  padding: 44px 24px;
  box-sizing: border-box;
}
.nf-panel {
  background: #fff;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 8px;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10));
  display: grid;
  grid-template-columns: minmax(220px, 330px) minmax(0, 1fr);
  overflow: hidden;
}
.nf-code {
  min-height: 310px;
  background: var(--brand-navy, #1A1416);
  color: #fff;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  font-size: 76px;
  font-weight: 900;
  line-height: 1;
}
.nf-zero {
  width: 82px;
  height: 82px;
  border-radius: 999px;
  background: var(--brand-cyan, #D21E26);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 32px;
  box-shadow: 0 0 0 8px rgba(210, 30, 38, .18);
}
.nf-copy {
  padding: 38px 42px;
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.nf-eyebrow {
  color: var(--brand-cyan, #D21E26);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.nf-h1 {
  margin: 0 0 10px;
  color: var(--brand-navy, #1A1416);
  font-size: 30px;
  line-height: 1.18;
  font-weight: 900;
  letter-spacing: 0;
}
.nf-sub {
  margin: 0;
  color: var(--fg-muted, #6B7787);
  font-size: 14px;
  line-height: 1.6;
  max-width: 520px;
}
.nf-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 24px;
}
.nf-actions .btn {
  padding: 10px 18px !important;
  justify-content: center;
}
.nf-links {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}
.nf-links a {
  background: #fff;
  border: 1px solid var(--border-default, #E3E7EC);
  border-radius: 8px;
  padding: 14px;
  display: grid;
  grid-template-columns: 34px 1fr;
  column-gap: 10px;
  row-gap: 2px;
  text-decoration: none !important;
  color: var(--fg-muted, #6B7787) !important;
  transition: border-color .15s, background .15s;
}
.nf-links a:hover {
  border-color: var(--brand-cyan, #D21E26);
  background: #FFFAFA;
}
.nf-links span {
  width: 34px;
  height: 34px;
  border-radius: 6px;
  background: var(--brand-cyan-100, #FCE6E6);
  color: var(--brand-cyan, #D21E26) !important;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  grid-row: span 2;
}
.nf-links b {
  color: var(--brand-navy, #1A1416);
  font-size: 13.5px;
  font-weight: 700;
  line-height: 1.25;
}
.nf-links small {
  color: var(--fg-muted, #6B7787);
  font-size: 12px;
  line-height: 1.4;
}

@media (max-width: 820px) {
  .nf-panel {
    grid-template-columns: 1fr;
  }
  .nf-code {
    min-height: 180px;
  }
  .nf-links {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 560px) {
  .nf-breadcrumb {
    padding: 0 16px;
  }
  .nf-wrap {
    padding: 24px 16px;
  }
  .nf-copy {
    padding: 26px 20px;
  }
  .nf-code {
    font-size: 56px;
  }
  .nf-zero {
    width: 64px;
    height: 64px;
    font-size: 24px;
  }
  .nf-h1 {
    font-size: 24px;
  }
  .nf-actions {
    flex-direction: column;
  }
  .nf-actions .btn {
    width: 100%;
  }
}

/* ---------- DNS Service Pages ----------------------------- */
.fmsid-clientarea .fmsid-dns-shell {
  color: var(--fg-default, #2E3742);
}

.fmsid-clientarea .fmsid-dns-hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 24px;
}

.fmsid-clientarea .fmsid-dns-hero-main {
  min-width: 0;
  flex: 1 1 420px;
}

.fmsid-clientarea .fmsid-dns-eyebrow {
  margin-bottom: 6px;
  color: var(--fg-subtle, #94A0AE);
  font-family: var(--font-mono, monospace);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.fmsid-clientarea .fmsid-dns-hero h1 {
  margin: 0;
  color: var(--brand-ink, #1A1416);
  font-size: 24px;
  line-height: 1.25;
  font-weight: 600;
}

.fmsid-clientarea .fmsid-dns-hero-meta {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin-top: 6px;
  color: var(--neutral-700, #4A5462);
  font-size: 13px;
}

.fmsid-clientarea .fmsid-dns-hero-meta b {
  color: var(--brand-ink, #1A1416);
  font-weight: 600;
}

.fmsid-clientarea .fmsid-dns-dot {
  width: 3px;
  height: 3px;
  border-radius: 999px;
  background: var(--neutral-400, #C7CFD8);
}

.fmsid-clientarea .fmsid-dns-hero-actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.fmsid-clientarea .fmsid-dns-module #dns-service {
  max-width: 100%;
}

/* ---------- Services List ---------------------------------- */
.fmsid-clientarea .section-services > h1,
.fmsid-clientarea .fmsid-services-head h1 {
  margin: 0 !important;
  color: var(--brand-ink, #1A1416) !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

.fmsid-clientarea .fmsid-services-head {
  display: flex !important;
  justify-content: space-between !important;
  align-items: flex-end !important;
  gap: 16px !important;
  margin-bottom: 18px !important;
}

.fmsid-clientarea .fmsid-services-head p {
  margin: 4px 0 0 !important;
  color: var(--fg-muted, #6B7787) !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
}

.fmsid-clientarea .fmsid-services-card {
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: var(--radius-md, 6px) !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
  overflow: visible !important;
}

.fmsid-clientarea .fmsid-services-card .nav-tabs-wrapper {
  display: flex !important;
  align-items: stretch !important;
  gap: 0 !important;
  margin: 0 !important;
  padding: 0 4px !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow-x: auto !important;
  overflow-y: hidden !important;
}

.fmsid-clientarea .fmsid-services-tabs .nav-slider {
  display: flex !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  min-width: 0 !important;
}

.fmsid-clientarea .fmsid-services-tabs .nav-item {
  display: flex !important;
  margin: 0 !important;
}

.fmsid-clientarea .fmsid-services-tabs .nav-link {
  display: inline-flex !important;
  align-items: center !important;
  min-height: 48px !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  border-bottom: 2px solid transparent !important;
  border-radius: 0 !important;
  color: var(--neutral-600, #6B7787) !important;
  font-size: 13.5px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  white-space: nowrap !important;
}

.fmsid-clientarea .fmsid-services-tabs .nav-link:hover {
  color: var(--brand-ink, #1A1416) !important;
  text-decoration: none !important;
}

.fmsid-clientarea .fmsid-services-tabs .nav-item.active .nav-link,
.fmsid-clientarea .fmsid-services-tabs .nav-link.active {
  color: var(--brand-cyan, #D21E26) !important;
  border-bottom-color: var(--brand-cyan, #D21E26) !important;
  font-weight: 600 !important;
}

.fmsid-clientarea .fmsid-services-tabs .ng-cat-spacer {
  flex: 1 1 auto !important;
  min-width: 16px !important;
}

.fmsid-clientarea .fmsid-services-tools {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex: 0 0 auto !important;
}

.fmsid-clientarea .fmsid-service-groups {
  margin: 0 !important;
  white-space: nowrap !important;
}

.fmsid-clientarea .ng-filter-link {
  display: inline-flex !important;
  align-items: center !important;
  gap: 6px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 16px !important;
  background: transparent !important;
  border: 0 !important;
  color: var(--neutral-700, #4A5462) !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  cursor: pointer !important;
  white-space: nowrap !important;
}

.fmsid-clientarea .ng-filter-link:hover,
.fmsid-clientarea .ng-filter-link.shown {
  color: var(--brand-cyan, #D21E26) !important;
}

.fmsid-clientarea .ng-filter-link .material-icons {
  font-size: 18px !important;
  transition: transform var(--dur-base, 150ms) ease !important;
}

.fmsid-clientarea .ng-filter-link.shown .material-icons {
  transform: rotate(180deg) !important;
}

.fmsid-clientarea .fmsid-services-card .filters-box.ng-filter-panel {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(280px, 2fr) auto;
  gap: 14px !important;
  align-items: end !important;
  margin: 0 !important;
  padding: 16px 20px !important;
  background: var(--neutral-50, #F8FAFC) !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

.fmsid-clientarea .fmsid-services-card #service-filters-box[style*="block"] {
  display: grid !important;
}

.fmsid-clientarea .fmsid-services-card .ng-filter-lbl {
  display: block !important;
  margin: 0 0 6px !important;
  color: var(--neutral-600, #6B7787) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

.fmsid-clientarea .fmsid-services-card .ng-input,
.fmsid-clientarea .fmsid-services-card .selectize-input {
  min-height: 38px !important;
  padding: 8px 12px !important;
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: var(--radius, 4px) !important;
  color: var(--fg-default, #2E3742) !important;
  font-size: 13.5px !important;
  box-shadow: none !important;
}

.fmsid-clientarea .fmsid-services-card .selectize-control {
  width: 100% !important;
}

.fmsid-clientarea .fmsid-services-checks {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px 14px !important;
  color: var(--neutral-700, #4A5462) !important;
  font-size: 12.5px !important;
}

.fmsid-clientarea .fmsid-services-checks .form-check {
  margin: 0 !important;
  min-height: 20px !important;
}

.fmsid-clientarea .fmsid-services-checks input {
  margin-top: 2px !important;
}

.fmsid-clientarea .fmsid-services-filter-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 8px !important;
}

.fmsid-clientarea .fmsid-services-filter-actions .btn {
  margin: 0 !important;
  white-space: nowrap !important;
}

.fmsid-clientarea .fmsid-services-card .table-responsive.table-borders.table-radius {
  margin: 0 !important;
  background: #fff !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: visible !important;
}

.fmsid-clientarea .fmsid-services-card .dropdown-menu {
  z-index: 1080 !important;
}

.fmsid-clientarea .fmsid-services-card .services-table {
  width: 100% !important;
  margin: 0 !important;
  border-collapse: collapse !important;
  font-size: 13.5px !important;
}

.fmsid-clientarea .fmsid-services-card .services-table thead th {
  padding: 12px 16px !important;
  background: #fff !important;
  color: var(--brand-cyan, #D21E26) !important;
  border-bottom: 1px solid var(--border-default, #E3E7EC) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  text-align: left !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

.fmsid-clientarea .fmsid-services-card .services-table th a {
  color: var(--brand-cyan, #D21E26) !important;
  text-decoration: none !important;
}

.fmsid-clientarea .fmsid-services-card .services-table td {
  padding: 14px 16px !important;
  color: var(--neutral-800, #2E3742) !important;
  border-bottom: 1px solid var(--neutral-200, #E9EDF1) !important;
  vertical-align: middle !important;
}

.fmsid-clientarea .fmsid-services-card .services-table tr:last-child td {
  border-bottom: 0 !important;
}

.fmsid-clientarea .fmsid-services-card .services-table tbody tr:hover td {
  background: var(--neutral-50, #F8FAFC) !important;
}

.fmsid-clientarea .fmsid-services-product-th {
  width: 36% !important;
}

.fmsid-clientarea .fmsid-services-actions-th {
  width: 80px !important;
}

.fmsid-clientarea .fmsid-services-card .services-table .ng-num,
.fmsid-clientarea .fmsid-services-card .services-table th.ng-num,
.fmsid-clientarea .fmsid-services-card .services-table th.ng-num a {
  font-family: var(--font-mono, monospace) !important;
  text-align: right !important;
}

.fmsid-clientarea .fmsid-services-card .services-table .ng-mono {
  font-family: var(--font-mono, monospace) !important;
}

.fmsid-clientarea .fmsid-service-product {
  min-width: 220px !important;
}

.fmsid-clientarea .fmsid-service-name {
  color: var(--brand-cyan, #D21E26) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

.fmsid-clientarea .fmsid-service-name:hover {
  color: var(--brand-cyan-600, #B5141B) !important;
  text-decoration: underline !important;
}

.fmsid-clientarea .fmsid-service-product .badge {
  display: inline-flex !important;
  align-items: center !important;
  margin-left: 8px !important;
  padding: 3px 8px !important;
  border-radius: 999px !important;
  font-size: 10px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-transform: uppercase !important;
  vertical-align: middle !important;
}

.fmsid-clientarea .fmsid-services-card .badge {
  display: inline-flex !important;
  align-items: center !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0 !important;
  line-height: 1.2 !important;
  text-transform: uppercase !important;
}

.fmsid-clientarea .fmsid-services-row-actions {
  width: 88px !important;
  white-space: nowrap !important;
}

.fmsid-clientarea .fmsid-services-row-actions .d-flex {
  gap: 6px !important;
}

.fmsid-clientarea .ng-icon-link,
.fmsid-clientarea .fmsid-services-row-actions .ng-icon-link {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 32px !important;
  height: 32px !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: var(--radius, 4px) !important;
  color: var(--neutral-500, #94A0AE) !important;
  cursor: pointer !important;
  text-decoration: none !important;
}

.fmsid-clientarea .ng-icon-link:hover,
.fmsid-clientarea .fmsid-services-row-actions .ng-icon-link:hover {
  background: var(--neutral-100, #F1F4F7) !important;
  color: var(--brand-cyan, #D21E26) !important;
  text-decoration: none !important;
}

.fmsid-clientarea .ng-icon-link .material-icons {
  color: currentColor !important;
  font-size: 19px !important;
}

.badge-Suspended {
  background-color: var(--warning-100) !important;
  color: var(--warning) !important;
}

.badge-Cancelled {
  background-color: var(--danger-100) !important;
  color: var(--danger) !important;
}

@media (max-width: 900px) {
  .fmsid-clientarea .fmsid-services-card .filters-box.ng-filter-panel {
    grid-template-columns: 1fr !important;
  }

  .fmsid-clientarea .fmsid-services-filter-actions {
    justify-content: flex-start !important;
  }
}

@media (max-width: 767px) {
  .fmsid-clientarea .fmsid-services-card .nav-tabs-wrapper {
    padding: 0 !important;
  }

  .fmsid-clientarea .fmsid-services-tabs .nav-link,
  .fmsid-clientarea .ng-filter-link {
    padding: 0 12px !important;
  }

  .fmsid-clientarea .fmsid-services-tools {
    gap: 4px !important;
  }

  .fmsid-clientarea .fmsid-services-checks {
    grid-template-columns: 1fr !important;
  }
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .icons {
  position: relative !important;
  margin: 0 0 24px !important;
  padding: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons .dwarrow {
  float: none !important;
  width: 100% !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  background: transparent !important;
  color: var(--brand-ink, #1A1416) !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons .dwarrow::after {
  content: " Aktionen werden nach Auswahl einer Domain aktiv";
  display: inline-block;
  margin-left: 10px;
  color: var(--fg-subtle, #94A0AE);
  font-size: 12px;
  font-weight: 500;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul {
  float: none !important;
  display: grid !important;
  grid-template-columns: repeat(5, minmax(0, 1fr)) !important;
  gap: 10px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li {
  float: none !important;
  position: static !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a {
  display: flex !important;
  min-height: 118px !important;
  padding: 16px !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: flex-start !important;
  gap: 10px !important;
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 8px !important;
  color: var(--brand-ink, #1A1416) !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
  text-align: left !important;
  text-decoration: none !important;
  transition: border-color .15s, box-shadow .15s, transform .15s, background .15s !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li:not(.disabled) > a:hover {
  border-color: var(--brand-red, #D21E26) !important;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10)) !important;
  transform: translateY(-2px);
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li.disabled > a {
  cursor: not-allowed !important;
  opacity: .72 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a img {
  display: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a::before {
  width: 38px;
  height: 38px;
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--brand-red-100, #FCE6E6);
  color: var(--brand-red, #D21E26);
  font-family: var(--font-mono, monospace);
  font-size: 13px;
  font-weight: 700;
  line-height: 1;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li.disabled > a::before {
  background: var(--neutral-100, #F4F6F8);
  color: var(--neutral-500, #94A0AE);
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a[href*="type=A"]::before {
  content: "A";
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a[href*="type=MX"]::before {
  content: "MX";
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a[href*="type=CNAME"]::before {
  content: "CN";
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a[href*="clone_record"]::before {
  content: "\f24d";
  font-family: FontAwesome;
  font-size: 15px;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li#more_icon > a::before {
  content: "\f142";
  font-family: FontAwesome;
  font-size: 16px;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul > li > a span {
  display: block !important;
  color: var(--brand-ink, #1A1416) !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  line-height: 1.35 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu {
  position: absolute !important;
  top: calc(100% + 6px) !important;
  right: 0 !important;
  left: 0 !important;
  transform: none !important;
  float: none !important;
  min-width: 0 !important;
  width: 100% !important;
  padding: 8px !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 0 !important;
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-md, 0 6px 18px rgba(15,30,60,.10)) !important;
  z-index: 40 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon.show .dropdown-menu,
body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu.show {
  display: grid !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu li {
  list-style: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu a {
  display: block !important;
  padding: 9px 10px !important;
  border-radius: 6px !important;
  color: var(--neutral-800, #2E3742) !important;
  font-size: 12.5px !important;
  text-decoration: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu a:hover {
  background: var(--brand-red-100, #FCE6E6) !important;
  color: var(--brand-red, #D21E26) !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service table.display {
  width: 100% !important;
  margin: 0 0 18px !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  border-radius: 8px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
  font-size: 13.5px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service table.display thead th,
body.fmsid-clientarea .fmsid-dns-module #dns-service table.display tbody th {
  padding: 12px 16px !important;
  background: #fff !important;
  border: 0 !important;
  border-bottom: 1px solid var(--border-default, #E3E7EC) !important;
  color: var(--brand-red, #D21E26) !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: .06em !important;
  text-align: left !important;
  text-shadow: none !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service table.display td {
  padding: 13px 16px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--neutral-200, #E9EDF1) !important;
  color: var(--neutral-800, #2E3742) !important;
  vertical-align: middle !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service table.display tr:last-child td,
body.fmsid-clientarea .fmsid-dns-module #dns-service table.display tbody:last-child tr:last-child th {
  border-bottom: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service table.display tr.odd,
body.fmsid-clientarea .fmsid-dns-module #dns-service table.display tr.even {
  background: #fff !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service table.display tbody tr:hover td {
  background: var(--neutral-50, #F8FAFC) !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-zones {
  margin-bottom: 0 !important;
  border-bottom-right-radius: 0 !important;
  border-bottom-left-radius: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-zones tbody:last-child th {
  background: var(--neutral-50, #F8FAFC) !important;
  color: var(--neutral-700, #4A5462) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-zones + table {
  margin: 0 0 20px !important;
  background: var(--neutral-50, #F8FAFC) !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-top: 0 !important;
  border-radius: 0 0 8px 8px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-zones + table td {
  padding: 12px 18px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox {
  margin: 20px 0 0 !important;
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
  overflow: hidden !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox_header {
  padding: 14px 18px !important;
  background: #fff !important;
  border-bottom: 1px solid var(--border-default, #E3E7EC) !important;
  color: var(--brand-ink, #1A1416) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox_content {
  padding: 16px 18px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox_content > .pull-right {
  margin-left: 16px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details hr {
  display: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details-line {
  padding: 12px 0 !important;
  border-bottom: 1px solid var(--neutral-200, #E9EDF1) !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details-line small {
  margin-bottom: 4px !important;
  color: var(--neutral-600, #6B7787) !important;
  font-size: 12px !important;
  font-weight: 500 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details-line .text-small,
body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details-line span {
  color: var(--neutral-800, #2E3742);
  font-size: 13.5px;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox_content .listi {
  margin: 0 !important;
  padding-left: 18px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox_content .listi li {
  margin-bottom: 7px !important;
  color: var(--neutral-800, #2E3742) !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
}

@media (min-width: 1100px) {
  body.fmsid-clientarea .fmsid-dns-module #dns-service > form + .wbox,
  body.fmsid-clientarea .fmsid-dns-module #dns-service > form + .wbox + .wbox {
    display: inline-block !important;
    width: calc(50% - 10px) !important;
    vertical-align: top !important;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service > form + .wbox {
    margin-right: 16px !important;
  }
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"] {
  display: flex !important;
  align-items: flex-end !important;
  justify-content: space-between !important;
  gap: 14px !important;
  flex-wrap: wrap !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 0 18px !important;
  padding: 14px 18px !important;
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"] > .pull-left,
body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"] > .pull-right {
  float: none !important;
  margin: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"] > .pull-left h4 {
  margin: 0 !important;
  color: var(--brand-ink, #1A1416) !important;
  font-size: 24px !important;
  line-height: 1.25 !important;
  font-weight: 600 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"] > .pull-right {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"] > .clear {
  display: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-records {
  margin-bottom: 16px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-records thead tr:first-child th {
  color: var(--brand-red, #D21E26) !important;
  font-size: 11px !important;
  letter-spacing: .08em !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-records .dns-actions {
  display: flex !important;
  align-items: center !important;
  justify-content: flex-end !important;
  gap: 6px !important;
  white-space: nowrap !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-records .dns-add-record,
body.fmsid-clientarea .fmsid-dns-module #dns-service .dns-records tr:last-child a {
  color: var(--brand-red, #D21E26) !important;
  font-weight: 600 !important;
  text-decoration: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service form > div[style*="margin-top:2em"] {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  flex-wrap: wrap !important;
  margin: 18px 0 0 !important;
  padding: 14px 18px !important;
  background: #fff !important;
  border: 1px solid var(--border-default, #E3E7EC) !important;
  border-radius: 8px !important;
  box-shadow: var(--shadow-sm, 0 1px 2px rgba(15,30,60,.06)) !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service form > div[style*="margin-top:2em"] .pull-left,
body.fmsid-clientarea .fmsid-dns-module #dns-service form > div[style*="margin-top:2em"] .pull-right,
body.fmsid-clientarea .fmsid-dns-module #dns-service form > div[style*="margin-top:2em"] .left,
body.fmsid-clientarea .fmsid-dns-module #dns-service form > div[style*="margin-top:2em"] .fl {
  float: none !important;
  margin: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service form > .wbox {
  max-width: 940px !important;
  margin: 0 auto 20px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox {
  display: grid !important;
  grid-template-columns: 180px minmax(0, 420px) auto !important;
  align-items: center !important;
  gap: 16px !important;
  min-height: 0 !important;
  padding: 10px 18px !important;
  line-height: 1.4 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox label {
  clear: none !important;
  display: block !important;
  float: none !important;
  width: auto !important;
  margin: 0 !important;
  color: var(--neutral-700, #4A5462) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-align: right !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox input,
body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox select,
body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox textarea {
  float: none !important;
  display: inline-block !important;
  min-width: 0 !important;
  max-width: 420px !important;
  width: 100% !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox input.w-auto,
body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox select.w-auto {
  width: 100% !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox .dns-name-suffix {
  color: var(--neutral-700, #4A5462) !important;
  font-size: 13.5px !important;
  white-space: nowrap !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox > .vtip_description {
  margin-left: -8px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #contentbox {
  display: flex !important;
  align-items: center !important;
  gap: 8px !important;
  flex-wrap: wrap !important;
  margin-left: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service #contentbox input,
body.fmsid-clientarea .fmsid-dns-module #dns-service #contentbox textarea {
  margin: 0 !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .wbox_content center {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 18px !important;
  padding-top: 8px !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .btnx {
  min-height: 38px !important;
  padding: 8px 14px !important;
  border: 1px solid var(--brand-red, #D21E26) !important;
  border-radius: 6px !important;
  background: var(--brand-red, #D21E26) !important;
  color: #fff !important;
  font: inherit !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.4 !important;
  text-shadow: none !important;
  text-decoration: none !important;
}

body.fmsid-clientarea .fmsid-dns-module #dns-service .btnx:hover {
  background: var(--brand-red-600, #B5141B) !important;
  border-color: var(--brand-red-600, #B5141B) !important;
}

@media (max-width: 1180px) {
  body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service .service-details {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 720px) {
  .fmsid-clientarea .fmsid-dns-hero {
    align-items: flex-start;
  }

  .fmsid-clientarea .fmsid-dns-hero-actions,
  .fmsid-clientarea .fmsid-dns-hero-actions .btn {
    width: 100%;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service > .icons > ul,
  body.fmsid-clientarea .fmsid-dns-module #dns-service #more_icon .dropdown-menu {
    grid-template-columns: 1fr !important;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service > div[style*="margin-bottom"],
  body.fmsid-clientarea .fmsid-dns-module #dns-service form > div[style*="margin-top:2em"] {
    align-items: stretch !important;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox {
    grid-template-columns: 1fr !important;
    gap: 6px !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  body.fmsid-clientarea .fmsid-dns-module #dns-service .recordbox label {
    text-align: left !important;
  }
}
