/* =====================================================================
 * Numinix helpdesk skin (Zammad reverse-proxy overlay)
 *
 * Injected by nginx sub_filter — see deploy/branding/nginx-default.conf
 * and deploy/patch-nginx-branding.sh. Pattern matches Seekmodo's
 * helpdesk.seekmodo.com overlay.
 *
 * Palette from numinix.com management includes/css/numinix_admin.css:
 *   primary #00618D · secondary #028a9e · accent #04bfbf · dark #171717
 * ===================================================================== */

/* No Google Fonts — Zammad CSP font-src is 'self' data: only. */

:root,
:root.dark,
html.dark,
html:not(.dark),
[data-theme="dark"],
[data-theme="light"] {
  --fullscreen-background: #f2f5f7 !important;
  --fullscreen-text: #171717 !important;
  --fullscreen-text-muted: #5c6b76 !important;
  --fullscreen-text-link: #028a9e !important;
  --fullscreen-drop-shadow: 0 10px 24px rgba(0, 33, 49, 0.08) !important;

  --background-primary: #ffffff !important;
  --background-primary-alt: #f2f5f7 !important;
  --background-secondary: #f2f5f7 !important;
  --background-secondary-hover: rgba(2, 138, 158, 0.08) !important;
  --background-tertiary: #e8eef2 !important;
  --background-quaternary: #d6e0e8 !important;
  --background-popover: #ffffff !important;

  --border: #d6e0e8 !important;
  --border-alt: #e8eef2 !important;
  --border-highlight: #028a9e !important;

  --interactive-primary: #028a9e !important;
  --highlight: #028a9e !important;
  --good-color: #028a9e !important;
  --create: #04bfbf !important;
  --active: #00618D !important;

  --button-primary-background: #028a9e !important;
  --button-primary-background-active: #00618D !important;
  --button-primary-text: #ffffff !important;
  --button-background: #ffffff !important;
  --button-background-active: #f2f5f7 !important;
  --button-action-color: #028a9e !important;

  --header-primary: #00618D !important;
  --header-secondary: #028a9e !important;
  /* Classic left rail: primary (Dashboard/Overviews) + secondary (.tasks ticket tabs).
     Stock secondary falls back to --background-tertiary (light) — that made white
     ticket titles unreadable. Keep the whole rail navy with light text. */
  --menu-background-primary: #0b3f57 !important;
  --menu-background-primary-hover: #12506c !important;
  --menu-background-secondary: #063849 !important;
  --menu-background-active: #028a9e !important;
  --menu-text: rgba(255, 255, 255, 0.9) !important;
  --menu-text-active: #ffffff !important;
  --menu-text-open: #ffffff !important;
  --menu-text-closed: #ffffff !important;
  --menu-text-escalating: #ffffff !important;
  --menu-icon: rgba(255, 255, 255, 0.78) !important;
  --menu-icon-secondary: rgba(255, 255, 255, 0.65) !important;
  --menu-close-tab-background: rgba(255, 255, 255, 0.14) !important;
  --menu-border: rgba(255, 255, 255, 0.1) !important;
  --menu-border-secondary: rgba(255, 255, 255, 0.08) !important;

  --background-modifier-accent: rgba(0, 97, 141, 0.05) !important;
  --background-modifier-accent-dark: rgba(0, 97, 141, 0.1) !important;
  --background-modifier-accent-light: rgba(0, 97, 141, 0.03) !important;
  --background-modifier-border: #d6e0e8 !important;
  --background-modifier-hover: rgba(2, 138, 158, 0.08) !important;
  --background-modifier-lighter: #f2f5f7 !important;

  --background-article-customer: #ffffff !important;
  --background-article-customer-meta: #f2f5f7 !important;
  --background-article-meta: #f2f5f7 !important;
  --background-highlight: rgba(2, 138, 158, 0.1) !important;
  --border-article-customer: #d6e0e8 !important;
  --border-article-customer-selected: #028a9e !important;

  --text-normal: #3d3e47 !important;
  --text-bold: #171717 !important;
  --text-muted: #5c6b76 !important;
}

html.dark,
html[data-theme="dark"] {
  color-scheme: light !important;
}

html,
body {
  background: #f2f5f7 !important;
  color: #3d3e47 !important;
  font-family: Manrope, -apple-system, BlinkMacSystemFont, "Segoe UI",
    Roboto, "Helvetica Neue", Arial, sans-serif !important;
  -webkit-font-smoothing: antialiased !important;
}

.app,
.content,
.main,
.fullscreen,
.fullscreen-body,
#app > .fullscreen,
#app > .login,
#app > .splash {
  background: #f2f5f7 !important;
  color: #3d3e47 !important;
}

.login.fullscreen,
.fullscreen.login,
#app > .login,
#app > .fullscreen {
  background: linear-gradient(180deg, rgba(0, 97, 141, 0.06) 0%, #f2f5f7 55%) !important;
  color: #171717 !important;
  width: 100% !important;
  max-width: none !important;
  min-height: 100vh !important;
  margin: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  overflow: hidden !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
}

.hero-unit,
.fullscreen-body .hero-unit,
.maintenance .hero-unit {
  background: #ffffff !important;
  border: 1px solid rgba(0, 97, 141, 0.14) !important;
  border-radius: 16px !important;
  box-shadow: 0 18px 40px rgba(0, 33, 49, 0.08) !important;
  padding: 36px 36px 28px !important;
  max-width: 420px !important;
  margin: 0 auto !important;
  color: #171717 !important;
}

.hero-unit .company-logo,
.fullscreen-body .company-logo,
.login img.company-logo,
.login .logo img,
.login-logo img,
.fullscreen .logo img {
  display: block !important;
  max-height: 36px !important;
  width: auto !important;
  max-width: 100% !important;
  margin: 0 auto 20px !important;
}

.login .btn--primary,
.fullscreen .btn--primary,
.maintenance .btn--primary,
.login button[type="submit"],
.maintenance button[type="submit"],
.btn--primary,
.btn.btn--ok,
button.btn--primary {
  background: linear-gradient(135deg, #00618D, #028a9e) !important;
  border: 1px solid #028a9e !important;
  color: #ffffff !important;
}

.login a,
.fullscreen a,
.maintenance a {
  color: #028a9e !important;
}

.poweredBy,
.poweredby,
.js-poweredBy,
.login-footer,
[class*="poweredBy"],
[class*="poweredby"],
.fullscreen a[href*="zammad.com"],
a[href$="zammad.com"],
a[href*="//zammad.com"],
a[href*="zammad.org"],
img[alt*="Zammad"],
.powered-by-zammad,
footer .logo,
[class*="zammad-watermark"],
[class*="zammad-credit"] {
  display: none !important;
  visibility: hidden !important;
  height: 0 !important;
  overflow: hidden !important;
}

.splash .icon-logo {
  display: none !important;
}
.splash-title,
.splash p,
.splash div {
  color: #5c6b76 !important;
}

/* ---- Agent chrome: replace bird logo with Numinix wordmark + Support ---- */

.icon-logo,
svg.icon.icon-logo,
.user-logo .icon-logo,
.navigation .icon-logo,
.navigation-toolbar .icon-logo {
  fill: transparent !important;
  color: transparent !important;
  opacity: 0 !important;
}

.icon-logo > use,
svg.icon.icon-logo > use {
  display: none !important;
}

.user-logo,
.navigation .user-logo,
.navigation-menu-logo,
.navigation .js-toggleNotifications,
a.logo,
.navigation a.logo {
  position: relative !important;
  display: inline-flex !important;
  align-items: center !important;
  gap: 0 !important;
  min-width: 168px !important;
  width: auto !important;
  height: 42px !important;
  background:
    url("/assets/numinix-logo.svg") no-repeat left center / 112px auto !important;
  border-radius: 0 !important;
  overflow: visible !important;
}

.user-logo::after,
.navigation .user-logo::after,
.navigation-menu-logo::after,
a.logo::after {
  content: "Support" !important;
  margin-left: 124px !important;
  font-family: Manrope, sans-serif !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.14em !important;
  text-transform: uppercase !important;
  color: #ffffff !important;
  white-space: nowrap !important;
}

/* Keep notification badge visible over/near branding */
.user-logo .js-notificationsCounter,
.navigation .js-notificationsCounter,
.navigation .notificationsCounter {
  z-index: 3 !important;
}

.navigation,
.navigation-bar,
.topNavigation,
.application-header,
header.main,
.navigation-icons,
.navigation.menu {
  background: linear-gradient(180deg, #0b3f57 0%, #0d4a66 100%) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
}

/* Ticket tabs (.tasks) must stay on the navy rail — not the light content palette */
.navigation .tasks,
.navigation .tasks-navigation {
  background: #063849 !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

.navigation a,
.navigation .nav-tab,
.navigation .js-menuItem,
.navigation .tasks .nav-tab,
.navigation .tasks .nav-tab-name {
  color: rgba(255, 255, 255, 0.92) !important;
}

.navigation .active,
.navigation a.active,
.menu .active,
.tab.active {
  background: #028a9e !important;
  color: #ffffff !important;
}

/* Ticket zoom / content sidebars are light — do NOT force white links (was unreadable). */
.sidebar,
.menu-aside,
.content .sidebar,
.ticketZoom .sidebar {
  background: #ffffff !important;
  color: #171717 !important;
  border-right: 1px solid #d6e0e8 !important;
}

.sidebar a,
.sidebar .nav-tab,
.sidebar .js-menuItem,
.sidebar .tab,
.content .sidebar a {
  color: #171717 !important;
}

.sidebar a:hover,
.sidebar .nav-tab:hover,
.content .sidebar a:hover {
  color: #00618D !important;
  background: rgba(2, 138, 158, 0.08) !important;
}

.sidebar .active,
.sidebar a.active,
.sidebar .is-active,
.content .sidebar .active {
  background: rgba(2, 138, 158, 0.14) !important;
  color: #00618D !important;
  font-weight: 600 !important;
}

/* Admin/settings nav (AI, etc.): active is on li, paint is on the child a.
   Zammad uses --background-active (near-black) + --text-active (white), but
   .sidebar a forces dark text — nearly invisible. Match the light active chip. */
.sidebar .nav-pills > li.active > a,
.sidebar .nav-pills > li.active > a:hover,
.sidebar .nav-pills > li.active > a:focus,
.NavBarAdmin.sidebar .nav-pills > li.active > a,
.NavBarAdmin.sidebar .nav-pills > li.active > a:hover,
.NavBarAdmin.sidebar .nav-pills > li.active > a:focus,
.NavBarProfile.sidebar .nav-pills > li.active > a,
.NavBarProfile.sidebar .nav-pills > li.active > a:hover,
.NavBarProfile.sidebar .nav-pills > li.active > a:focus,
.content .sidebar .nav-pills > li.active > a {
  background: rgba(2, 138, 158, 0.14) !important;
  color: #00618D !important;
  font-weight: 600 !important;
}

/* Open tickets in left list — stronger contrast for title + meta */
.sidebar .ticket-title,
.sidebar .title,
.sidebar .ticketZoom-header,
.sidebar .open .title,
.sidebar .js-ticketTitle,
.ticketZoom .sidebar .ticketList-item,
.ticketZoom .sidebar .ticketList-item .title {
  color: #171717 !important;
}

.sidebar .ticketList-item .info,
.sidebar .ticketList-item .date,
.sidebar .muted,
.sidebar .text-muted {
  color: #3d3e47 !important;
}

.avatar {
  background: #028a9e !important;
}

.dropdown-menu,
.dropdown-menu > li,
.dropdown-menu > li > a,
.searchableSelect.dropdown,
.searchableSelect.dropdown li,
.searchableSelect.dropdown li > a {
  color: #171717 !important;
}

.dropdown-menu,
.searchableSelect.dropdown,
.dropdown.actions > .dropdown-menu {
  background-color: #ffffff !important;
  border: 1px solid #d6e0e8 !important;
  box-shadow: 0 10px 24px rgba(0, 33, 49, 0.08) !important;
}

.dropdown-menu > li:hover > a,
.dropdown-menu > li > a:hover,
.dropdown-menu > li.is-active > a,
.searchableSelect.dropdown li:hover,
.searchableSelect.dropdown li.is-active {
  color: #ffffff !important;
  background: #028a9e !important;
}

select,
select.form-control {
  color: #171717 !important;
  background-color: #ffffff !important;
}

.popover,
.popover-content,
.popover-title {
  color: #171717 !important;
  background: #ffffff !important;
}

.token,
.token .token-label,
.tagList .tag {
  color: #171717 !important;
  background: #f2f5f7 !important;
  border: 1px solid #d6e0e8 !important;
}

.token:hover,
.token.is-active {
  color: #ffffff !important;
  background: #028a9e !important;
  border-color: #028a9e !important;
}

/* =====================================================================
 * Modern desktop UI (/desktop) — Tailwind theme token remaps
 * Zammad ships yellow submit + cyan blues; map them to Numinix palette.
 * ===================================================================== */

:root,
:root.dark,
html.dark,
html:not(.dark),
[data-theme="dark"],
[data-theme="light"] {
  --color-blue-50: #f2f5f7 !important;
  --color-blue-100: #e5f0f5 !important;
  --color-blue-200: #d6e0e8 !important;
  --color-blue-300: #c0d6e0 !important;
  --color-blue-350: #dcf1ff !important;
  --color-blue-400: #a8c9d6 !important;
  --color-blue-500: #7eb8c9 !important;
  --color-blue-550: #5aa8bc !important;
  --color-blue-600: #04bfbf !important;
  --color-blue-700: #028a9e !important;
  --color-blue-800: #028a9e !important;
  --color-blue-850: #00618d !important;
  --color-blue-875: #00618d !important;
  --color-blue-900: #0b3f57 !important;
  --color-blue-950: #063849 !important;

  /* Primary/submit actions (bg-yellow-300) → Numinix teal */
  --color-yellow-50: #e8f7f7 !important;
  --color-yellow-100: #d4f0f0 !important;
  --color-yellow-150: #04bfbf !important;
  --color-yellow-200: #04bfbf !important;
  --color-yellow-300: #028a9e !important;
  --color-yellow-500: #00618d !important;
  --color-yellow-600: #00618d !important;
  --color-yellow-700: #0b3f57 !important;
}

/* Desktop login / public pages — replace stock near-black canvas */
div.flex.min-h-screen.flex-col.items-center.bg-neutral-950,
.bg-neutral-950.min-h-screen {
  background: linear-gradient(180deg, rgba(0, 97, 141, 0.08) 0%, #f2f5f7 55%) !important;
  color: #5c6b76 !important;
}

/* Login card: white with subtle Numinix border */
main.rounded-3xl.bg-neutral-50,
main.flex.flex-col.gap-2\.5.rounded-3xl {
  background: #ffffff !important;
  border: 1px solid rgba(0, 97, 141, 0.14) !important;
  box-shadow: 0 18px 40px rgba(0, 33, 49, 0.08) !important;
  color: #171717 !important;
}

/* Submit / Sign in: keep white label on teal (stock is black-on-yellow) */
button.bg-yellow-300,
a.bg-yellow-300,
.bg-yellow-300 {
  color: #ffffff !important;
}

button.bg-yellow-300:hover,
a.bg-yellow-300:hover,
.bg-yellow-300:hover {
  color: #ffffff !important;
}

/* Hide Zammad “Powered by” credit only — keep “Switch to old interface” visible */
a[href*="zammad.org"],
a[href*="zammad.com"],
[class*="PoweredBy"],
[class*="powered-by"] {
  display: none !important;
}

/* =====================================================================
 * Boot splash — replace Zammad bird with Numinix wordmark pulse
 * Critical rules are also inlined via nginx (zammad.conf) to avoid FOUC.
 * ===================================================================== */

@keyframes numinix-splash-pulse {
  0%,
  100% {
    opacity: 0.35;
    transform: scale(0.96);
  }
  50% {
    opacity: 1;
    transform: scale(1);
  }
}

#loading-app {
  background: #f2f5f7 !important;
}

#loading-app .loading-animation {
  position: absolute !important;
  width: 1px !important;
  height: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  opacity: 0 !important;
  overflow: hidden !important;
  clip: rect(0, 0, 0, 0) !important;
  border: 0 !important;
  pointer-events: none !important;
}

#loading-app .loading-main {
  position: relative !important;
  min-width: 200px !important;
  min-height: 40px !important;
}

#loading-app .loading-main::before {
  content: "" !important;
  display: block !important;
  width: 200px !important;
  height: 32px !important;
  margin: 0 auto !important;
  background: url("/assets/numinix-logo-blue.svg") center / contain no-repeat !important;
  animation: numinix-splash-pulse 1.5s ease-in-out infinite !important;
}

#loading-app .loading-main:has(.loading-animation.error)::before {
  animation: none !important;
  opacity: 0.35 !important;
  filter: blur(1px) !important;
}

#loading-app .loading-failed,
#loading-app .noscript-message {
  color: #5c6b76 !important;
  margin-top: 16px !important;
}

/* Classic SPA splash (if still hit) */
.splash .icon-logo,
#app > .splash .icon-logo,
svg.icon-logo-flat,
.icon.icon-logo-flat {
  opacity: 0 !important;
  visibility: hidden !important;
}

.splash {
  background: #f2f5f7 !important;
}

.splash::before {
  content: "" !important;
  display: block !important;
  width: 200px !important;
  height: 32px !important;
  margin: 20vh auto 0 !important;
  background: url("/assets/numinix-logo-blue.svg") center / contain no-repeat !important;
  animation: numinix-splash-pulse 1.5s ease-in-out infinite !important;
}

/* Desktop left rail — Numinix navy chrome + wordmark above search */
aside#main-sidebar,
aside#main-sidebar.bg-neutral-950 {
  background: linear-gradient(180deg, #0b3f57 0%, #063849 100%) !important;
  border-color: rgba(255, 255, 255, 0.08) !important;
  color: rgba(255, 255, 255, 0.9) !important;
}

/* Keep the data-theme=dark island from inheriting light semantic backgrounds */
aside#main-sidebar [data-theme="dark"] {
  --background-primary: transparent !important;
  --background-primary-alt: transparent !important;
  --background-secondary: rgba(255, 255, 255, 0.06) !important;
  --background-tertiary: rgba(255, 255, 255, 0.08) !important;
  --text-normal: rgba(255, 255, 255, 0.9) !important;
  --text-bold: #ffffff !important;
  --text-muted: rgba(255, 255, 255, 0.7) !important;
}

.numinix-desktop-brand {
  padding: 14px 12px 6px !important;
  flex-shrink: 0 !important;
}

.numinix-desktop-brand a {
  display: inline-flex !important;
  align-items: center !important;
  text-decoration: none !important;
}

.numinix-desktop-brand img {
  display: block !important;
  height: 22px !important;
  width: auto !important;
  max-width: 148px !important;
}

/* Hide stock bird mark in the left-rail header (search row) */
#main-sidebar header .icon-logo,
#main-sidebar header svg.icon[aria-label="logo"],
#main-sidebar header .icon[class*="logo"] {
  display: none !important;
}

/* Active nav / menu chips on the dark rail */
#main-sidebar .bg-blue-900,
#main-sidebar .dark\:bg-blue-900 {
  background-color: #028a9e !important;
}

#main-sidebar .bg-gray-700 {
  background-color: rgba(255, 255, 255, 0.08) !important;
}

/* Desktop focus rings stay on brand */
*:focus-visible {
  outline-color: #028a9e !important;
}

/* Classic ticket zoom: Numinix Delete ticket control (Zammad 7 hides native Delete). */
.numinix-ticket-delete {
  margin-left: 8px !important;
  white-space: nowrap !important;
  align-self: center !important;
}
.attributeBar .numinix-ticket-delete {
  margin-top: 0 !important;
}
.numinix-ticket-delete--desktop {
  margin: 0 0 0 12px !important;
  padding: 6px 12px !important;
  border-radius: 6px !important;
  border: 1px solid #b91c1c !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-size: 13px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
  vertical-align: middle !important;
}

/* Per-article delete (admin only). */
.numinix-article-delete {
  margin-left: 8px !important;
  white-space: nowrap !important;
  vertical-align: middle !important;
  float: right !important;
}
.article-meta .numinix-article-delete,
.article-header .numinix-article-delete {
  float: none !important;
  margin-left: auto !important;
}
.numinix-article-delete--desktop {
  margin: 0 0 0 8px !important;
  padding: 2px 8px !important;
  border-radius: 4px !important;
  border: 1px solid #b91c1c !important;
  background: #dc2626 !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  cursor: pointer !important;
}

/* BETA desktop article ⋯ menu — Delete row */
.numinix-article-delete-menu-item .numinix-article-delete-menu-btn span {
  color: inherit;
}

/* Desktop notification bell / badge must stay clickable above brand chrome */
aside#main-sidebar,
aside#main-sidebar header,
aside#main-sidebar .relative,
aside#main-sidebar [class*="overflow-hidden"],
#main-sidebar header {
  overflow: visible !important;
}
#main-sidebar [class*="Counter"],
#main-sidebar [class*="counter"],
#main-sidebar [class*="Badge"],
#main-sidebar [class*="badge"],
#main-sidebar span[class*="absolute"],
#main-sidebar .numinix-notif-hit,
#main-sidebar .numinix-notif-hit * {
  z-index: 80 !important;
  pointer-events: auto !important;
  overflow: visible !important;
}
#main-sidebar header button.numinix-notif-hit,
#main-sidebar header .numinix-notif-hit {
  position: relative !important;
  min-width: 36px !important;
  min-height: 36px !important;
}

.numinix-customer-login-note {
  margin: 12px 0 0 !important;
  padding: 10px 12px !important;
  border-radius: 6px !important;
  background: #e8f4fa !important;
  color: #0b3f57 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}
.numinix-customer-login-note a {
  color: #00618d !important;
  font-weight: 600 !important;
}

/* Overview category headers (Name / … grouping) */
.numinix-overview-cat {
  display: flex !important;
  width: 100% !important;
  align-items: center !important;
  justify-content: space-between !important;
  margin: 10px 0 4px !important;
  padding: 6px 10px !important;
  border: 0 !important;
  border-radius: 6px !important;
  background: rgba(255, 255, 255, 0.08) !important;
  color: #ffffff !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  letter-spacing: 0.06em !important;
  text-transform: uppercase !important;
  cursor: pointer !important;
}
.sidebar .numinix-overview-cat,
.content .sidebar .numinix-overview-cat,
.ticketZoom .sidebar .numinix-overview-cat {
  background: #e8eef2 !important;
  color: #0b3f57 !important;
}
.numinix-overview-cat::after {
  content: "▾" !important;
  opacity: 0.8 !important;
}
.numinix-overview-cat[aria-expanded="false"]::after {
  content: "▸" !important;
}
#main-sidebar .numinix-overview-cat,
aside#main-sidebar .numinix-overview-cat {
  background: rgba(255, 255, 255, 0.1) !important;
  color: #ffffff !important;
}
#main-sidebar .numinix-overview-cat-items,
aside#main-sidebar .numinix-overview-cat-items {
  padding-left: 4px !important;
}
.numinix-overview-cat-items {
  display: block !important;
}

.numinix-email-mention {
  display: inline-block !important;
  padding: 1px 6px !important;
  margin: 0 2px !important;
  border-radius: 4px !important;
  background: #e8f4fa !important;
  color: #00618d !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  white-space: nowrap !important;
}
.numinix-email-mention-to {
  margin-top: 6px !important;
}

/* BETA / classic Jira Tasks multi-row: stay inside the attribute cell */
.numinix-jira-multi {
  display: grid !important;
  gap: 6px !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  grid-column: 1 / -1 !important;
  position: relative !important;
  z-index: 1 !important;
  box-sizing: border-box !important;
}
.numinix-jira-multi-list {
  display: grid !important;
  gap: 6px !important;
  min-width: 0 !important;
}
.numinix-jira-multi-list input.numinix-jira-row,
.numinix-jira-multi input.numinix-jira-row {
  min-width: 0 !important;
  width: 100% !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}
.numinix-jira-add {
  width: max-content !important;
  font-size: 12px !important;
  white-space: nowrap !important;
}
a.numinix-jira-open {
  flex: 0 0 auto !important;
  white-space: nowrap !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #00618d !important;
  text-decoration: underline !important;
  padding: 0 4px !important;
}
a.numinix-jira-open[hidden] {
  display: none !important;
}
[data-attribute-name="jira_task_key"],
.form-group[data-attribute-name="jira_task_key"] {
  overflow: visible !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

/* Tag email control (Request participants helper) */
.numinix-tag-email {
  margin: 10px 0 6px !important;
  padding: 8px 10px !important;
  border: 1px solid #d6e0e8 !important;
  border-radius: 6px !important;
  background: #f7fafc !important;
}
.numinix-tag-email label {
  display: block !important;
  margin: 0 0 6px !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  color: #0b3f57 !important;
}
.numinix-tag-email-row {
  display: flex !important;
  gap: 6px !important;
  align-items: center !important;
}
.numinix-tag-email-input {
  flex: 1 !important;
  min-width: 0 !important;
}
.numinix-tag-email-hint,
.numinix-tag-email-status {
  margin: 6px 0 0 !important;
  font-size: 11px !important;
  line-height: 1.35 !important;
  color: #5c6b76 !important;
}
.numinix-tag-email-status.is-ok {
  color: #0f766e !important;
}
.numinix-tag-email-status.is-err {
  color: #b91c1c !important;
}

/* Classic shell escape when Administration drops a BETA user out of /desktop */
.numinix-back-to-beta {
  position: fixed !important;
  top: auto !important;
  right: 16px !important;
  bottom: 16px !important;
  z-index: 10050 !important;
  padding: 10px 14px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: #028a9e !important;
  color: #ffffff !important;
  font-family: Manrope, sans-serif !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  box-shadow: 0 8px 24px rgba(0, 33, 49, 0.25) !important;
  cursor: pointer !important;
}
.numinix-back-to-beta:hover {
  background: #00618d !important;
}

.numinix-email-mention {
  display: inline-block !important;
  margin: 0 2px !important;
  padding: 1px 6px !important;
  border-radius: 10px !important;
  background: #e6f4f7 !important;
  color: #00618d !important;
  font-weight: 700 !important;
  white-space: nowrap !important;
}

.numinix-ticket-pager {
  position: fixed !important;
  top: 12px !important;
  right: 16px !important;
  bottom: auto !important;
  z-index: 40 !important;
  display: flex !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 6px 8px !important;
  border-radius: 8px !important;
  background: #0b3f57 !important;
  color: #ffffff !important;
  font-family: Manrope, sans-serif !important;
  font-size: 12px !important;
  box-shadow: 0 8px 24px rgba(0, 33, 49, 0.25) !important;
}
.numinix-ticket-pager button {
  border: 0 !important;
  border-radius: 6px !important;
  background: #028a9e !important;
  color: #ffffff !important;
  font-weight: 700 !important;
  padding: 6px 10px !important;
  cursor: pointer !important;
}
.numinix-ticket-pager button:disabled {
  opacity: 0.45 !important;
  cursor: default !important;
}
.numinix-ticket-pager-pos {
  min-width: 64px !important;
  text-align: center !important;
  font-weight: 600 !important;
}

/*
 * Soften stock Zammad "Lost network connection!" modal.
 * Stock sets backdrop:static + keyboard:false and freezes the SPA on brief
 * WebSocket blips. Keep a visible reconnect banner; do not block clicking.
 * Body class is toggled from numinix-login.js.
 */
body.numinix-ws-soft-offline {
  overflow: auto !important;
  padding-right: 0 !important;
}
body.numinix-ws-soft-offline .modal-backdrop {
  display: none !important;
  pointer-events: none !important;
}
body.numinix-ws-soft-offline .modal {
  pointer-events: none !important;
  overflow: visible !important;
}
body.numinix-ws-soft-offline .modal .modal-dialog {
  pointer-events: none !important;
  position: fixed !important;
  top: 10px !important;
  left: 50% !important;
  right: auto !important;
  bottom: auto !important;
  transform: translateX(-50%) !important;
  margin: 0 !important;
  width: auto !important;
  max-width: min(420px, 92vw) !important;
}
body.numinix-ws-soft-offline .modal .modal-content {
  pointer-events: none !important;
  border: 1px solid #f0c36d !important;
  border-radius: 8px !important;
  background: #fff8e6 !important;
  box-shadow: 0 8px 24px rgba(0, 33, 49, 0.18) !important;
}
body.numinix-ws-soft-offline .modal .modal-header,
body.numinix-ws-soft-offline .modal .modal-body {
  padding: 10px 14px !important;
}
body.numinix-ws-soft-offline .modal .modal-header {
  border-bottom: 0 !important;
  padding-bottom: 4px !important;
}
body.numinix-ws-soft-offline .modal .modal-title {
  font-size: 14px !important;
  font-weight: 700 !important;
  color: #6b4e00 !important;
}
body.numinix-ws-soft-offline .modal .modal-body {
  font-size: 13px !important;
  color: #5c6b76 !important;
  padding-top: 0 !important;
}

/* BETA UI is opt-in again — do not hide Profile → New BETA UI / escape links. */
