/* Sigmanex CMMS v1.2.0 - Modern Enterprise UI
   UI-only overrides. Scoped to non-login application pages. */

body.sigmanex-modern-ui {
  --background: 214 36% 97%;
  --foreground: 218 31% 13%;
  --card: 0 0% 100%;
  --card-foreground: 218 31% 13%;
  --popover: 0 0% 100%;
  --popover-foreground: 218 31% 13%;
  --primary: 211 91% 51%;
  --primary-foreground: 0 0% 100%;
  --secondary: 213 30% 95%;
  --secondary-foreground: 217 28% 22%;
  --muted: 214 28% 95%;
  --muted-foreground: 216 13% 46%;
  --accent: 212 46% 94%;
  --accent-foreground: 215 45% 25%;
  --border: 214 28% 89%;
  --input: 214 28% 87%;
  --ring: 211 91% 51%;
  --radius: .75rem;
  --sidebar-background: 218 42% 13%;
  --sidebar-foreground: 214 26% 83%;
  --sidebar-primary: 211 91% 55%;
  --sidebar-primary-foreground: 0 0% 100%;
  --sidebar-accent: 216 35% 20%;
  --sidebar-accent-foreground: 210 30% 96%;
  --sidebar-border: 216 28% 23%;
  color: hsl(var(--foreground));
  background: #f4f7fb;
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

body.sigmanex-modern-ui #root > div.min-h-screen {
  background:
    radial-gradient(circle at 86% -12%, rgba(59,130,246,.10), transparent 34%),
    radial-gradient(circle at 36% 105%, rgba(14,165,233,.055), transparent 30%),
    #f4f7fb !important;
}

/* ---------- Sidebar ---------- */
body.sigmanex-modern-ui aside {
  background:
    radial-gradient(circle at 28% 6%, rgba(59,130,246,.16), transparent 24%),
    linear-gradient(180deg, #14243a 0%, #101d30 48%, #0d1828 100%) !important;
  border-right: 1px solid rgba(148,163,184,.13) !important;
  box-shadow: 16px 0 42px rgba(15,23,42,.08);
}
body.sigmanex-modern-ui aside > div:first-child {
  height: 72px !important;
  padding-left: 14px !important;
  padding-right: 12px !important;
  border-bottom-color: rgba(148,163,184,.12) !important;
  background: rgba(255,255,255,.018);
}
body.sigmanex-modern-ui .sx-modern-brand-icon {
  width: 40px !important;
  height: 40px !important;
  border-radius: 12px !important;
  overflow: hidden;
  background: linear-gradient(145deg,#1f8fff,#1765df) !important;
  border: 1px solid rgba(147,197,253,.28);
  box-shadow: 0 8px 24px rgba(37,99,235,.28), inset 0 1px 0 rgba(255,255,255,.16);
}
body.sigmanex-modern-ui .sx-modern-brand-icon > svg { display: none !important; }
body.sigmanex-modern-ui .sx-modern-brand-icon img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
  padding: 5px;
  filter: brightness(0) invert(1);
}
body.sigmanex-modern-ui aside h1 {
  font-size: 14px !important;
  line-height: 1.1 !important;
  letter-spacing: .045em !important;
  font-weight: 850 !important;
}
body.sigmanex-modern-ui aside h1 + p {
  margin-top: 3px;
  font-size: 9px !important;
  letter-spacing: .18em !important;
  color: #8ba4c4 !important;
  opacity: 1 !important;
}
body.sigmanex-modern-ui aside nav {
  padding: 18px 12px 16px !important;
  scrollbar-width: thin;
  scrollbar-color: rgba(148,163,184,.28) transparent;
}
body.sigmanex-modern-ui aside nav > a,
body.sigmanex-modern-ui aside nav > div > a,
body.sigmanex-modern-ui .sxwf-nav-link {
  position: relative;
  min-height: 44px;
  margin: 3px 0;
  padding: 10px 12px !important;
  border-radius: 12px !important;
  font-weight: 620 !important;
  letter-spacing: -.005em;
  color: #c8d6e7 !important;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease !important;
}
body.sigmanex-modern-ui aside nav > a:hover,
body.sigmanex-modern-ui aside nav > div > a:hover,
body.sigmanex-modern-ui .sxwf-nav-link:hover {
  color: #fff !important;
  background: rgba(104,148,199,.13) !important;
  transform: translateX(2px);
}
body.sigmanex-modern-ui aside nav > a[class*="bg-[hsl(var(--sidebar-primary))]"],
body.sigmanex-modern-ui aside nav > div > a[class*="bg-[hsl(var(--sidebar-primary))]"],
body.sigmanex-modern-ui .sxwf-nav-link.active {
  color: #fff !important;
  background: linear-gradient(135deg,#2f92f5 0%,#2878e7 100%) !important;
  box-shadow: 0 8px 24px rgba(31,118,229,.24), inset 0 1px 0 rgba(255,255,255,.14) !important;
  transform: none !important;
}
body.sigmanex-modern-ui aside nav svg,
body.sigmanex-modern-ui .sxwf-nav-icon {
  opacity: .92;
  filter: drop-shadow(0 2px 6px rgba(0,0,0,.08));
}
body.sigmanex-modern-ui aside nav > a[class*="bg-[hsl(var(--sidebar-primary))]"] svg,
body.sigmanex-modern-ui aside nav > div > a[class*="bg-[hsl(var(--sidebar-primary))]"] svg,
body.sigmanex-modern-ui .sxwf-nav-link.active .sxwf-nav-icon { opacity: 1; }
body.sigmanex-modern-ui aside > div:last-child p {
  color: #67809e !important;
  opacity: 1 !important;
  letter-spacing: .03em;
}

/* ---------- Topbar ---------- */
body.sigmanex-modern-ui header {
  height: 68px !important;
  padding-left: clamp(16px,2.2vw,30px) !important;
  padding-right: clamp(16px,2.2vw,30px) !important;
  background: rgba(255,255,255,.86) !important;
  border-bottom: 1px solid rgba(203,213,225,.74) !important;
  box-shadow: 0 7px 28px rgba(15,23,42,.035);
  backdrop-filter: blur(18px) saturate(150%);
  -webkit-backdrop-filter: blur(18px) saturate(150%);
}
body.sigmanex-modern-ui header h2 {
  color: #1b2b42 !important;
  font-size: 14px !important;
  font-weight: 760 !important;
  letter-spacing: -.012em;
}
body.sigmanex-modern-ui header .sx-modern-top-kicker {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  margin-left: 10px;
  padding: 5px 9px;
  border-radius: 999px;
  border: 1px solid #dbe9f8;
  background: #f3f8fe;
  color: #47739f;
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .03em;
  white-space: nowrap;
}
body.sigmanex-modern-ui header .sx-modern-top-kicker::before {
  content: '';
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #22c55e;
  box-shadow: 0 0 0 4px rgba(34,197,94,.09);
}
body.sigmanex-modern-ui header button {
  border-radius: 12px !important;
}
body.sigmanex-modern-ui header button:hover { background: #f0f5fb !important; }
body.sigmanex-modern-ui header button > div[class*="rounded-full"] {
  border: 1px solid #d8e6f5;
  background: linear-gradient(145deg,#edf6ff,#e4effb) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.8);
}

/* ---------- Main canvas ---------- */
body.sigmanex-modern-ui main {
  min-height: calc(100vh - 68px);
  padding: clamp(18px,2.2vw,34px) !important;
  background: transparent;
}
body.sigmanex-modern-ui main > * {
  max-width: 1680px;
  margin-left: auto;
  margin-right: auto;
}
body.sigmanex-modern-ui main h1 {
  color: #15233a !important;
  letter-spacing: -.035em !important;
  font-weight: 820 !important;
}
body.sigmanex-modern-ui main h2,
body.sigmanex-modern-ui main h3 { letter-spacing: -.018em; }
body.sigmanex-modern-ui main p.text-muted-foreground { color: #6f7e91 !important; }

/* ---------- Cards / panels ---------- */
body.sigmanex-modern-ui main .bg-card.rounded-xl.border,
body.sigmanex-modern-ui main .bg-card.rounded-lg.border,
body.sigmanex-modern-ui main section.bg-card,
body.sigmanex-modern-ui main div[class*="bg-card"][class*="shadow"] {
  border-color: #e2eaf3 !important;
  border-radius: 18px !important;
  box-shadow: 0 8px 26px rgba(16,38,67,.055), inset 0 1px 0 rgba(255,255,255,.72) !important;
}
body.sigmanex-modern-ui main .bg-card.rounded-xl.border.shadow-sm {
  transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease !important;
}
body.sigmanex-modern-ui main .bg-card.rounded-xl.border.shadow-sm:hover {
  transform: translateY(-2px);
  border-color: #d5e2ef !important;
  box-shadow: 0 14px 34px rgba(16,38,67,.085), inset 0 1px 0 rgba(255,255,255,.78) !important;
}
body.sigmanex-modern-ui main .w-12.h-12.rounded-xl {
  border: 1px solid rgba(148,163,184,.12);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.65);
}
body.sigmanex-modern-ui main .text-3xl.font-bold { letter-spacing: -.035em; }

/* ---------- Tables ---------- */
body.sigmanex-modern-ui main table {
  width: 100%;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  background: #fff;
  color: #223047;
}
body.sigmanex-modern-ui main table thead tr { background: #f7f9fc !important; }
body.sigmanex-modern-ui main table th {
  padding-top: 12px !important;
  padding-bottom: 12px !important;
  color: #66768a !important;
  font-size: 11px !important;
  font-weight: 800 !important;
  text-transform: uppercase;
  letter-spacing: .045em;
  border-bottom-color: #e2eaf3 !important;
}
body.sigmanex-modern-ui main table td {
  padding-top: 13px !important;
  padding-bottom: 13px !important;
  border-bottom-color: #edf1f6 !important;
  font-size: 13px;
}
body.sigmanex-modern-ui main table tbody tr { transition: background .15s ease; }
body.sigmanex-modern-ui main table tbody tr:hover { background: #f8fbff !important; }
body.sigmanex-modern-ui main [class*="overflow-x-auto"] {
  border-radius: 15px;
  scrollbar-width: thin;
  scrollbar-color: #cbd8e6 transparent;
}

/* ---------- Forms ---------- */
body.sigmanex-modern-ui main input:not([type="checkbox"]):not([type="radio"]),
body.sigmanex-modern-ui main select,
body.sigmanex-modern-ui main textarea {
  border-color: #dbe5ef !important;
  border-radius: 12px !important;
  background: #fff !important;
  color: #1f2e44 !important;
  box-shadow: inset 0 1px 2px rgba(15,23,42,.018) !important;
  transition: border-color .16s ease, box-shadow .16s ease, background .16s ease !important;
}
body.sigmanex-modern-ui main input:not([type="checkbox"]):not([type="radio"]):focus,
body.sigmanex-modern-ui main select:focus,
body.sigmanex-modern-ui main textarea:focus {
  border-color: #68aef5 !important;
  box-shadow: 0 0 0 3px rgba(47,146,245,.12) !important;
}
body.sigmanex-modern-ui main label { color: #46566b; }
body.sigmanex-modern-ui main button {
  border-radius: 11px !important;
  transition: transform .16s ease, box-shadow .16s ease, background .16s ease, border-color .16s ease !important;
}
body.sigmanex-modern-ui main button:not(:disabled):active { transform: translateY(1px); }
body.sigmanex-modern-ui main button[class*="bg-primary"] {
  background: linear-gradient(135deg,#2e93f7,#2677e5) !important;
  box-shadow: 0 7px 18px rgba(37,118,226,.18);
}

/* ---------- Tabs, badges, empty states ---------- */
body.sigmanex-modern-ui main [role="tablist"] {
  border-radius: 13px !important;
  background: #eef3f8 !important;
  padding: 4px !important;
}
body.sigmanex-modern-ui main [role="tab"] {
  border-radius: 10px !important;
  font-weight: 680;
}
body.sigmanex-modern-ui main [role="tab"][data-state="active"] {
  background: #fff !important;
  box-shadow: 0 4px 12px rgba(15,23,42,.07) !important;
}
body.sigmanex-modern-ui main [class*="border-dashed"] {
  border-color: #d6e2ee !important;
  background: linear-gradient(145deg,#f9fbfd,#f5f8fb) !important;
}

/* ---------- Dialog / dropdown polish ---------- */
body.sigmanex-modern-ui [role="dialog"] {
  border-color: #dfe8f2 !important;
  border-radius: 20px !important;
  box-shadow: 0 30px 90px rgba(15,23,42,.24) !important;
}
body.sigmanex-modern-ui [role="menu"] {
  border-color: #e1e9f2 !important;
  border-radius: 13px !important;
  box-shadow: 0 18px 48px rgba(15,23,42,.14) !important;
  padding: 6px !important;
}
body.sigmanex-modern-ui [role="menuitem"] { border-radius: 8px !important; }

/* ---------- Preventive / Corrective workflow UI ---------- */
body.sigmanex-modern-ui .sxwf-shell { gap: 18px; }
body.sigmanex-modern-ui .sxwf-hero {
  border: 1px solid #dce8f4;
  border-radius: 22px;
  padding: 25px 26px;
  background:
    radial-gradient(circle at 92% 0%, rgba(61,151,245,.15), transparent 33%),
    linear-gradient(135deg,#ffffff 0%,#f7fbff 57%,#f1f7fd 100%);
  box-shadow: 0 12px 32px rgba(25,55,91,.06);
}
body.sigmanex-modern-ui .sxwf-hero::after {
  width: 310px;
  height: 310px;
  right: -105px;
  top: -135px;
  background: radial-gradient(circle,rgba(37,99,235,.10),transparent 67%);
}
body.sigmanex-modern-ui .sxwf-kicker {
  color: #2572c8;
  background: #edf6ff;
  border-color: #d2e8fb;
  padding: 7px 11px;
  letter-spacing: .07em;
}
body.sigmanex-modern-ui .sxwf-title {
  color: #14243b;
  letter-spacing: -.035em;
}
body.sigmanex-modern-ui .sxwf-role {
  background: rgba(255,255,255,.78);
  border-color: #dae6f2;
  box-shadow: 0 5px 14px rgba(15,23,42,.04);
}
body.sigmanex-modern-ui .sxwf-btn {
  min-height: 39px;
  padding: 9px 14px;
  border-radius: 11px;
  background: linear-gradient(135deg,#2f93f6,#2779e7);
  box-shadow: 0 7px 18px rgba(37,118,226,.17);
}
body.sigmanex-modern-ui .sxwf-btn.secondary {
  background: #fff;
  color: #34445a;
  border-color: #dce5ef;
  box-shadow: 0 4px 12px rgba(15,23,42,.035);
}
body.sigmanex-modern-ui .sxwf-stats { gap: 13px; }
body.sigmanex-modern-ui .sxwf-stat {
  position: relative;
  overflow: hidden;
  min-height: 110px;
  border-color: #e0e8f1;
  border-radius: 17px;
  padding: 17px;
  background: linear-gradient(150deg,#fff,#fbfdff);
  box-shadow: 0 8px 24px rgba(18,45,77,.045);
}
body.sigmanex-modern-ui .sxwf-stat::before {
  content: '';
  position: absolute;
  left: 0;
  top: 15px;
  bottom: 15px;
  width: 3px;
  border-radius: 0 999px 999px 0;
  background: linear-gradient(#48a3fb,#2d7fe8);
  opacity: .82;
}
body.sigmanex-modern-ui .sxwf-panel {
  border-color: #e0e8f1;
  border-radius: 19px;
  background: #fff;
  box-shadow: 0 9px 28px rgba(18,45,77,.045);
}
body.sigmanex-modern-ui .sxwf-card {
  border-color: #e0e8f1;
  border-radius: 16px;
  background: linear-gradient(145deg,#fff,#fbfdff);
  box-shadow: 0 4px 14px rgba(18,45,77,.025);
  transition: transform .17s ease, box-shadow .17s ease, border-color .17s ease;
}
body.sigmanex-modern-ui .sxwf-card:hover {
  transform: translateY(-1px);
  border-color: #d4e2ef;
  box-shadow: 0 10px 26px rgba(18,45,77,.065);
}
body.sigmanex-modern-ui .sxwf-card.rejected {
  border-color: #f7c9c9;
  background: linear-gradient(145deg,#fff,#fff8f8);
}
body.sigmanex-modern-ui .sxwf-chip {
  padding: 7px 12px;
  border-color: #dce5ef;
  background: #f6f9fc;
}
body.sigmanex-modern-ui .sxwf-chip.active {
  background: #eaf4ff;
  color: #236ec4;
  border-color: #bddcf8;
}
body.sigmanex-modern-ui .sxwf-launch-card {
  border-color: #e0e8f1;
  border-radius: 18px;
  box-shadow: 0 8px 24px rgba(18,45,77,.045);
}
body.sigmanex-modern-ui .sxwf-launch-card:hover {
  border-color: #cfe0ef;
  box-shadow: 0 14px 32px rgba(18,45,77,.075);
}
body.sigmanex-modern-ui .sxwf-modal-backdrop {
  background: rgba(7,18,34,.58);
  backdrop-filter: blur(6px);
}
body.sigmanex-modern-ui .sxwf-modal {
  border-color: #dce6f0;
  border-radius: 21px;
  background: #f8fafc;
  box-shadow: 0 34px 96px rgba(7,18,34,.28);
}
body.sigmanex-modern-ui .sxwf-modal-head {
  background: rgba(255,255,255,.93);
  backdrop-filter: blur(12px);
}
body.sigmanex-modern-ui .sxwf-input,
body.sigmanex-modern-ui .sxwf-select,
body.sigmanex-modern-ui .sxwf-textarea {
  border-color: #dbe5ef;
  border-radius: 12px;
  background: #fff;
}
body.sigmanex-modern-ui .sxwf-toast {
  border-radius: 14px;
  box-shadow: 0 18px 54px rgba(15,23,42,.24);
}

/* ---------- Responsive ---------- */
@media (max-width: 1023px) {
  body.sigmanex-modern-ui aside { box-shadow: 18px 0 60px rgba(7,18,34,.24); }
  body.sigmanex-modern-ui header { height: 64px !important; }
  body.sigmanex-modern-ui main {
    min-height: calc(100vh - 64px);
    padding: 18px !important;
  }
  body.sigmanex-modern-ui header .sx-modern-top-kicker { display: none; }
}
@media (max-width: 640px) {
  body.sigmanex-modern-ui main { padding: 14px !important; }
  body.sigmanex-modern-ui main .bg-card.rounded-xl.border,
  body.sigmanex-modern-ui main .bg-card.rounded-lg.border { border-radius: 15px !important; }
  body.sigmanex-modern-ui .sxwf-hero { padding: 19px; border-radius: 18px; }
  body.sigmanex-modern-ui .sxwf-panel { border-radius: 16px; }
}

/* Respect reduced motion */
@media (prefers-reduced-motion: reduce) {
  body.sigmanex-modern-ui *,
  body.sigmanex-modern-ui *::before,
  body.sigmanex-modern-ui *::after {
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
  }
}

/* v1.2.0a - Launcher card text spacing fix */
body.sigmanex-modern-ui .sxwf-launcher {
  gap: 14px !important;
}
body.sigmanex-modern-ui .sxwf-launch-card {
  display: flex !important;
  align-items: center !important;
  gap: 14px !important;
  padding: 16px 18px !important;
  text-align: left !important;
}
body.sigmanex-modern-ui .sxwf-launch-card > .sxwf-launch-icon {
  flex: 0 0 42px !important;
}
body.sigmanex-modern-ui .sxwf-launch-card > span:not(.sxwf-launch-icon) {
  display: flex !important;
  flex: 1 1 auto !important;
  min-width: 0 !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  justify-content: center !important;
  gap: 4px !important;
}
body.sigmanex-modern-ui .sxwf-launch-title {
  display: block !important;
  margin: 0 !important;
  font-size: 14px !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  color: #1f2937 !important;
  white-space: normal !important;
}
body.sigmanex-modern-ui .sxwf-launch-desc {
  display: block !important;
  margin: 0 !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  line-height: 1.5 !important;
  color: #718096 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}
@media (max-width: 720px) {
  body.sigmanex-modern-ui .sxwf-launch-card {
    align-items: flex-start !important;
    padding: 15px !important;
  }
}
