/*
 * NS Care+ 1.7.0 client design brief implementation layer.
 *
 * This stylesheet intentionally loads after portal.css and concept-ui.css.
 * The supplied combined HTML visual mockup is the canonical design source for
 * colour coding, logo treatment, portal shells, graphics, navigation and motion.
 * Existing business features and DOM hooks remain intact underneath this layer.
 */

#nscc-app,
#nscc-app * { box-sizing: border-box; }

/* =========================================================
   CANONICAL ROLE THEME SYSTEM
   ========================================================= */
#nscc-app .nsc-demo-shell {
  --portal-primary: #ff5b08;
  --portal-primary-dark: #e74900;
  --portal-primary-light: #ff8547;
  --portal-soft: #fff2ea;
  --portal-rgb: 255,91,8;
  --portal-border: rgba(255,91,8,.22);
  --portal-shadow: rgba(255,91,8,.18);
  --portal-art-filter: grayscale(1) sepia(1) saturate(5.8) hue-rotate(338deg) brightness(1.02);
  min-height: 100vh;
  color: #082b62;
  background: #f4f7fb;
  font-family: Arial,Helvetica,sans-serif;
}
#nscc-app .nsc-demo-shell[data-nsc-role="admin"] {
  --portal-primary: #087cf0;
  --portal-primary-dark: #0563c5;
  --portal-primary-light: #51a5f7;
  --portal-soft: #edf6ff;
  --portal-rgb: 8,124,240;
  --portal-border: rgba(8,124,240,.22);
  --portal-shadow: rgba(8,124,240,.18);
  --portal-art-filter: grayscale(1) sepia(1) saturate(6.2) hue-rotate(168deg) brightness(.94);
}
#nscc-app .nsc-demo-shell[data-nsc-role="worker"] {
  --portal-primary: #18a565;
  --portal-primary-dark: #11804d;
  --portal-primary-light: #57c68e;
  --portal-soft: #edf9f3;
  --portal-rgb: 24,165,101;
  --portal-border: rgba(24,165,101,.22);
  --portal-shadow: rgba(24,165,101,.18);
  --portal-art-filter: grayscale(1) sepia(1) saturate(5.7) hue-rotate(82deg) brightness(.93);
}
#nscc-app .nsc-demo-shell[data-nsc-role="participant"] {
  --portal-primary: #8244e8;
  --portal-primary-dark: #6530c3;
  --portal-primary-light: #a87cf0;
  --portal-soft: #f5efff;
  --portal-rgb: 130,68,232;
  --portal-border: rgba(130,68,232,.22);
  --portal-shadow: rgba(130,68,232,.18);
  --portal-art-filter: grayscale(1) sepia(1) saturate(6.2) hue-rotate(222deg) brightness(.94);
}
#nscc-app .nsc-demo-shell[data-nsc-role="family"] {
  --portal-primary: #ff5b08;
  --portal-primary-dark: #e74900;
  --portal-primary-light: #ff8547;
  --portal-soft: #fff2ea;
  --portal-rgb: 255,91,8;
  --portal-border: rgba(255,91,8,.22);
  --portal-shadow: rgba(255,91,8,.18);
  --portal-art-filter: grayscale(1) sepia(1) saturate(5.8) hue-rotate(338deg) brightness(1.02);
}
#nscc-app .nsc-demo-shell :focus-visible {
  outline: 3px solid rgba(var(--portal-rgb),.34) !important;
  outline-offset: 2px !important;
}

/* Profile colours remain personal accents only. They do not replace role identity. */
#nscc-app .nsc-demo-shell .nscc-sidebar,
#nscc-app .nsc-demo-shell .nscc-topbar,
#nscc-app .nsc-demo-shell .nsrole-page-head,
#nscc-app .nsc-demo-shell .nsc-client-admin-page-head {
  --nscc-accent: var(--portal-primary);
}

/* =========================================================
   SUPPLIED NS CARE+ LOGO
   ========================================================= */
#nscc-app .nscp-brand-logo,
#nscc-app .nsrole-brand img,
#nscc-app .nscc-mobile-brand img {
  object-fit: contain !important;
  object-position: left center !important;
}
#nscc-app .nscp-brand-logo,
#nscc-app .nsrole-brand img {
  filter: brightness(0) invert(1) !important;
}

/* =========================================================
   ADMIN PORTAL SHELL + FLOATING SIDEBAR
   ========================================================= */
#nscc-app .nscc-layout.nscp-app {
  min-height: 100vh;
  display: grid !important;
  grid-template-columns: 230px minmax(0,1fr) !important;
  align-items: start;
  background:
    radial-gradient(circle at 100% 0,rgba(var(--portal-rgb),.065),transparent 30%),
    #f4f7fb !important;
}
#nscc-app .nscc-sidebar.nscp-sidebar {
  width: auto !important;
  height: calc(100vh - 24px) !important;
  min-height: calc(100vh - 24px) !important;
  margin: 12px 10px 12px 12px !important;
  padding: 22px 13px 15px !important;
  position: sticky !important;
  top: 12px !important;
  z-index: 30 !important;
  align-self: start !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden auto !important;
  color: #fff !important;
  border: 1px solid rgba(255,255,255,.34) !important;
  border-radius: 24px !important;
  background: linear-gradient(180deg,var(--portal-primary-light) 0%,var(--portal-primary) 45%,var(--portal-primary-dark) 100%) !important;
  box-shadow: 0 22px 48px rgba(6,30,67,.18),0 5px 14px rgba(6,30,67,.10),inset 0 1px 0 rgba(255,255,255,.22) !important;
  scrollbar-width: none;
}
#nscc-app .nscc-sidebar.nscp-sidebar::-webkit-scrollbar { width:0; height:0; }
#nscc-app .nscp-brand {
  display: flex !important;
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 7px !important;
  padding: 2px 8px 16px !important;
}
#nscc-app .nscp-brand-logo {
  width: 174px !important;
  max-width: 100% !important;
  height: 38px !important;
  display: block !important;
  transition: transform .2s ease !important;
}
#nscc-app .nscp-brand-logo:hover { transform: translateX(2px); }
#nscc-app .nscp-brand-context {
  display:block !important;
  margin-left:2px !important;
  color:rgba(255,255,255,.84) !important;
  font-size:8px !important;
  font-weight:800 !important;
  letter-spacing:1.35px !important;
}
#nscc-app .nscp-sidebar-rule {
  height:1px !important;
  margin:0 0 18px !important;
  background:rgba(255,255,255,.26) !important;
}
#nscc-app .nscp-navigation {
  display:block !important;
  padding:0 !important;
  overflow:visible !important;
}
#nscc-app .nscp-nav-group-title {
  padding:11px 10px 7px !important;
  color:rgba(255,255,255,.73) !important;
  font:800 8px/1 Arial,Helvetica,sans-serif !important;
  letter-spacing:1.15px !important;
  text-transform:uppercase;
}
#nscc-app button.nscp-nav-item {
  width:100% !important;
  min-height:43px !important;
  margin:0 0 2px !important;
  padding:7px 9px !important;
  display:flex !important;
  align-items:center !important;
  gap:10px !important;
  border:0 !important;
  border-radius:12px !important;
  color:#fff !important;
  background:transparent !important;
  text-decoration:none !important;
  text-align:left !important;
  font:700 12px/1.15 Arial,Helvetica,sans-serif !important;
  cursor:pointer !important;
  transition:background .18s ease,transform .18s ease,color .18s ease !important;
  box-shadow:none !important;
}
#nscc-app button.nscp-nav-item:hover {
  color:#fff !important;
  background:rgba(255,255,255,.14) !important;
  transform:translateX(2px) !important;
}
#nscc-app button.nscp-nav-item.active,
#nscc-app button.nscp-nav-item[aria-current="page"] {
  color:var(--portal-primary) !important;
  background:#fff !important;
  box-shadow:0 6px 15px rgba(8,43,98,.11) !important;
  transform:none !important;
}
#nscc-app .nscp-nav-icon {
  width:28px !important;
  height:28px !important;
  flex:0 0 28px !important;
  padding:5px !important;
  display:grid !important;
  place-items:center !important;
  border-radius:9px !important;
  color:currentColor !important;
  background:rgba(255,255,255,.14) !important;
}
#nscc-app button.nscp-nav-item.active .nscp-nav-icon,
#nscc-app button.nscp-nav-item[aria-current="page"] .nscp-nav-icon {
  color:var(--portal-primary) !important;
  background:var(--portal-soft) !important;
}

/* =========================================================
   SHARED WORKER / PARTICIPANT / FAMILY PORTAL SHELL
   ========================================================= */
#nscc-app .nscc-layout.nsrole-app {
  min-height:100vh;
  display:grid !important;
  grid-template-columns:230px minmax(0,1fr) !important;
  background:radial-gradient(circle at 100% 0,rgba(var(--portal-rgb),.08),transparent 28%),#f4f7fb !important;
  color:#082b62;
}
#nscc-app .nscc-sidebar.nsrole-sidebar {
  width:auto !important;
  height:calc(100vh - 24px) !important;
  min-height:calc(100vh - 24px) !important;
  margin:12px 10px 12px 12px !important;
  padding:22px 13px 15px !important;
  position:sticky !important;
  top:12px !important;
  z-index:30 !important;
  align-self:start !important;
  display:flex !important;
  flex-direction:column !important;
  overflow:hidden auto !important;
  border:1px solid rgba(255,255,255,.34) !important;
  border-radius:24px !important;
  background:linear-gradient(180deg,var(--portal-primary-light) 0%,var(--portal-primary) 44%,var(--portal-primary-dark) 100%) !important;
  box-shadow:0 22px 48px rgba(6,30,67,.18),0 5px 14px rgba(6,30,67,.1),inset 0 1px rgba(255,255,255,.22) !important;
  scrollbar-width:none;
}
#nscc-app .nscc-sidebar.nsrole-sidebar::-webkit-scrollbar { width:0; height:0; }
#nscc-app .nsrole-brand {
  padding:0 8px 20px !important;
  border-bottom:1px solid rgba(255,255,255,.28) !important;
}
#nscc-app .nsrole-brand img {
  width:164px !important;
  height:38px !important;
  display:block !important;
}
#nscc-app .nsrole-brand small {
  display:block !important;
  margin-top:5px !important;
  color:#fff !important;
  font:900 8px/1.2 Arial,Helvetica,sans-serif !important;
  letter-spacing:1.25px !important;
}
#nscc-app .nsrole-nav {
  display:grid !important;
  gap:5px !important;
  padding:18px 0 !important;
}
#nscc-app button.nsrole-nav-link {
  width:100% !important;
  min-height:43px !important;
  display:flex !important;
  align-items:center !important;
  gap:9px !important;
  padding:7px 9px !important;
  border:0 !important;
  border-radius:13px !important;
  background:transparent !important;
  color:#fff !important;
  font:800 11px/1.15 Arial,Helvetica,sans-serif !important;
  text-align:left !important;
  cursor:pointer !important;
  box-shadow:none !important;
}
#nscc-app button.nsrole-nav-link:hover { background:rgba(255,255,255,.13) !important; color:#fff !important; }
#nscc-app button.nsrole-nav-link.active,
#nscc-app button.nsrole-nav-link[aria-current="page"] {
  background:#fff !important;
  color:var(--portal-primary) !important;
  box-shadow:0 8px 18px rgba(6,30,67,.15) !important;
}
#nscc-app .nsrole-nav-icon {
  width:29px !important;
  height:29px !important;
  display:grid !important;
  place-items:center !important;
  flex:0 0 29px !important;
  padding:5px !important;
  border-radius:9px !important;
  background:rgba(255,255,255,.14) !important;
  color:currentColor !important;
}
#nscc-app button.nsrole-nav-link.active .nsrole-nav-icon,
#nscc-app button.nsrole-nav-link[aria-current="page"] .nsrole-nav-icon { background:var(--portal-soft) !important; }
#nscc-app .nsrole-switch {
  min-height:40px !important;
  margin:auto 0 62px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  border:1px solid rgba(255,255,255,.38) !important;
  border-radius:12px !important;
  background:rgba(255,255,255,.1) !important;
  color:#fff !important;
  text-decoration:none !important;
  font:800 10px Arial,Helvetica,sans-serif !important;
}
#nscc-app .nsrole-switch .nscc-nav-icon { width:16px !important; height:16px !important; padding:0 !important; background:transparent !important; }

/* =========================================================
   SOURCE TOPBARS
   ========================================================= */
#nscc-app .nscc-workspace.nscp-main,
#nscc-app .nscc-workspace.nsrole-main { min-width:0 !important; width:100% !important; }
#nscc-app .nscc-topbar.nscp-topbar,
#nscc-app .nscc-topbar.nsrole-topbar {
  position:relative !important;
  z-index:1000 !important;
  width:auto !important;
  min-height:69px !important;
  margin:14px 16px 0 !important;
  padding:10px 20px 10px 24px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
  overflow:visible !important;
  border:1px solid rgba(198,213,229,.92) !important;
  border-radius:16px !important;
  background:rgba(255,255,255,.96) !important;
  box-shadow:0 10px 28px rgba(8,43,98,.08) !important;
}
#nscc-app .nscc-topbar-context { display:grid !important; gap:4px !important; }
#nscc-app .nscc-topbar-kicker {
  color:#718197 !important;
  font-size:9px !important;
  font-weight:900 !important;
  letter-spacing:1.3px !important;
}
#nscc-app .nscc-topbar-context strong { color:#082b62 !important; font-size:13px !important; }
#nscc-app .nscp-top-actions,
#nscc-app .nsrole-top-actions { display:flex !important; align-items:center !important; gap:9px !important; }
#nscc-app .nscc-security-pill.nsrole-secure {
  min-height:36px !important;
  padding:9px 12px !important;
  border:1px solid var(--portal-border) !important;
  border-radius:999px !important;
  background:var(--portal-soft) !important;
  color:var(--portal-primary-dark) !important;
  font-size:9px !important;
  font-weight:900 !important;
}
#nscc-app .nscc-security-pill.nscp-build-pill {
  min-height:36px !important;
  padding:0 13px !important;
  border:1px solid var(--portal-border) !important;
  border-radius:19px !important;
  background:var(--portal-soft) !important;
  color:var(--portal-primary-dark) !important;
  font-size:10px !important;
  font-weight:800 !important;
}
#nscc-app .nscc-notification-pill {
  min-height:36px !important;
  padding:0 9px !important;
  border:1px solid #e0e7ee !important;
  border-radius:19px !important;
  background:#fff !important;
  color:#697b91 !important;
}
#nscc-app .nscc-notification-pill b { background:var(--portal-primary) !important; color:#fff !important; }
#nscc-app .nscc-account-trigger.nscp-profile-button,
#nscc-app .nscc-account-trigger.nsrole-profile {
  display:flex !important;
  align-items:center !important;
  gap:8px !important;
  padding:5px 9px 5px 5px !important;
  border:0 !important;
  border-radius:25px !important;
  background:transparent !important;
  color:#082b62 !important;
  text-align:left !important;
}
#nscc-app .nscc-account-trigger:hover { background:#f5f8fb !important; }
#nscc-app .nscc-account-trigger .nscc-avatar {
  background:var(--portal-primary) !important;
  color:#fff !important;
}
#nscc-app .nscc-account-menu { z-index:2147483500 !important; }

/* Source uses the sidebar as the responsive portal navigation. */
#nscc-app .nscc-mobile-nav { display:none !important; }

/* =========================================================
   CONTENT SPACING + PAGE HEADERS
   ========================================================= */
#nscc-app .nscc-main.nscp-content,
#nscc-app .nscc-main.nsrole-content {
  padding:16px 28px 34px !important;
  max-width:none !important;
  margin:0 !important;
}
#nscc-app .nscc-build-banner {
  margin:14px 28px 0 !important;
  border-radius:14px !important;
  border-color:var(--portal-border) !important;
  background:var(--portal-soft) !important;
}
#nscc-app .nscc-build-dot { background:var(--portal-primary) !important; }
#nscc-app .nscc-banner-link { color:var(--portal-primary-dark) !important; }
#nscc-app .nsrole-page-head,
#nscc-app .nsc-client-admin-page-head {
  min-height:138px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:25px !important;
  padding:24px 26px !important;
  border:1px solid var(--portal-border) !important;
  border-left:5px solid var(--portal-primary) !important;
  border-radius:20px !important;
  background:linear-gradient(110deg,#fff 0%,var(--portal-soft) 100%) !important;
  box-shadow:0 12px 28px rgba(8,43,98,.07) !important;
}
#nscc-app .nsrole-page-head h1,
#nscc-app .nsc-client-admin-page-head h1 {
  margin:7px 0 5px !important;
  color:#082b62 !important;
  font-size:clamp(26px,3vw,40px) !important;
  line-height:1 !important;
  letter-spacing:-1.2px !important;
}
#nscc-app .nsrole-page-head p,
#nscc-app .nsc-client-admin-page-head p { margin:0 !important; color:#718197 !important; font-size:11px !important; }
#nscc-app .nsrole-page-head .nscc-kicker,
#nscc-app .nsc-client-admin-page-head .nscc-kicker,
#nscc-app .nsc-demo-shell [class*="eyebrow"] { color:var(--portal-primary) !important; }
#nscc-app .nsrole-page-head .nscc-button-primary,
#nscc-app .nsc-client-admin-page-head .nscc-button-primary {
  background:var(--portal-primary) !important;
  border-color:var(--portal-primary) !important;
  box-shadow:0 9px 20px var(--portal-shadow) !important;
}

/* =========================================================
   ADMIN PHOTOGRAPHIC HERO + GRAPHICS
   ========================================================= */
#nscc-app .nscnew-dashboard-banner {
  min-height:235px !important;
  margin:0 !important;
  padding:28px 30px !important;
  position:relative !important;
  overflow:hidden !important;
  isolation:isolate !important;
  border:1px solid var(--portal-border) !important;
  border-radius:22px !important;
  background:radial-gradient(circle at 42% 125%,rgba(var(--portal-rgb),.20),transparent 42%),radial-gradient(circle at 84% -30%,rgba(var(--portal-rgb),.14),transparent 40%),linear-gradient(100deg,#f8fbff 0%,var(--portal-soft) 45%,#fff 100%) !important;
  box-shadow:0 16px 34px rgba(8,43,98,.08) !important;
}
#nscc-app .nscnew-banner-copy { position:relative !important; z-index:8 !important; max-width:43% !important; padding-top:14px !important; }
#nscc-app .nscnew-banner-copy h1 {
  margin:0 !important;
  padding:0 !important;
  color:#082b62 !important;
  font-size:clamp(27px,2.25vw,36px) !important;
  line-height:1.05 !important;
  font-weight:700 !important;
  letter-spacing:-1.35px !important;
}
#nscc-app .nscnew-banner-copy h1 span { display:inline-block; transform-origin:70% 70%; animation:nscnew-wave-hand 3.3s ease-in-out infinite; }
#nscc-app .nscnew-banner-copy p { margin:8px 0 0 !important; color:#5e7ea0 !important; font-size:13px !important; line-height:1.3 !important; }
#nscc-app .nscnew-eyebrow { color:var(--portal-primary) !important; font-size:8px !important; letter-spacing:1px !important; }
#nscc-app .nscnew-people-zone { width:42% !important; height:169px !important; position:absolute !important; z-index:8 !important; left:35% !important; bottom:0 !important; overflow:visible !important; pointer-events:none !important; }
#nscc-app .nscnew-people-image { width:100% !important; height:169px !important; max-width:none !important; max-height:169px !important; position:absolute !important; z-index:8 !important; left:0 !important; bottom:-1px !important; object-fit:contain !important; object-position:center bottom !important; filter:drop-shadow(0 7px 11px rgba(8,43,98,.08)) !important; }
#nscc-app .nscnew-orange-pill { width:24px !important; height:41px !important; position:absolute !important; z-index:6 !important; left:0 !important; top:51px !important; border-radius:50% !important; background:var(--portal-primary) !important; transform:rotate(-28deg); animation:nscnew-pill 8.5s ease-in-out infinite; }
#nscc-app .nscnew-orange-dot { width:11px !important; height:11px !important; position:absolute !important; z-index:9 !important; right:8% !important; top:22px !important; border-radius:50% !important; background:var(--portal-primary) !important; animation:nscnew-dot 10s ease-in-out infinite; }
#nscc-app .nscnew-art { position:absolute !important; display:block !important; z-index:1 !important; max-width:none !important; height:auto !important; border:0 !important; box-shadow:none !important; pointer-events:none !important; object-fit:contain !important; will-change:transform; filter:var(--portal-art-filter) !important; }
#nscc-app .nscnew-peach-wave { width:49% !important; left:33% !important; top:-80px !important; opacity:.63 !important; animation:nscnew-peach 18s ease-in-out infinite; }
#nscc-app .nscnew-blue-wave { width:190px !important; left:56% !important; bottom:-121px !important; opacity:.78 !important; animation:nscnew-blue-wave-motion 14s ease-in-out infinite; }
#nscc-app .nscnew-blue-orb { width:118px !important; right:12% !important; bottom:-69px !important; opacity:.76 !important; animation:nscnew-orb 15s ease-in-out infinite; }
#nscc-app .nscnew-orange-hill { width:142px !important; right:35% !important; bottom:-107px !important; opacity:.79 !important; animation:nscnew-hill 16s ease-in-out infinite; }
#nscc-app .nscnew-orange-swoosh { width:118px !important; right:25% !important; bottom:-74px !important; opacity:.72 !important; animation:nscnew-swoosh 15s ease-in-out infinite; }
#nscc-app .nscnew-glow { position:absolute !important; z-index:0 !important; display:block !important; border-radius:50% !important; filter:blur(48px) !important; pointer-events:none !important; }
#nscc-app .nscnew-glow-blue { width:400px !important; height:180px !important; left:27% !important; bottom:-125px !important; background:rgba(var(--portal-rgb),.18) !important; }
#nscc-app .nscnew-glow-peach { width:380px !important; height:190px !important; right:4% !important; top:-140px !important; background:rgba(var(--portal-rgb),.18) !important; }

/* =========================================================
   WORKER / PARTICIPANT / FAMILY PHOTOGRAPHIC HERO
   ========================================================= */
#nscc-app .nsrole-hero {
  min-height:235px !important;
  position:relative !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:38% 32% 30% !important;
  align-items:stretch !important;
  border:1px solid var(--portal-border) !important;
  border-radius:22px !important;
  background:radial-gradient(circle at 42% 125%,rgba(var(--portal-rgb),.18),transparent 42%),radial-gradient(circle at 83% -30%,rgba(var(--portal-rgb),.16),transparent 40%),linear-gradient(100deg,#fff 0%,var(--portal-soft) 52%,#fff 100%) !important;
  box-shadow:0 16px 34px rgba(8,43,98,.08) !important;
  isolation:isolate !important;
}
#nscc-app .nsrole-hero-copy { z-index:4 !important; align-self:center !important; padding:28px 0 28px 28px !important; }
#nscc-app .nsrole-hero-copy > span { color:var(--portal-primary) !important; font:900 9px Arial,Helvetica,sans-serif !important; letter-spacing:1.25px !important; }
#nscc-app .nsrole-hero-copy h1 { margin:9px 0 8px !important; color:#082b62 !important; font-size:clamp(25px,2.3vw,38px) !important; line-height:1.03 !important; letter-spacing:-1.3px !important; }
#nscc-app .nsrole-hero-copy h1 i { display:inline-block; font-style:normal !important; transform-origin:70% 70%; animation:nscnew-wave-hand 3.3s ease-in-out infinite; }
#nscc-app .nsrole-hero-copy p { max-width:390px !important; margin:0 !important; color:#56708f !important; font-size:12px !important; line-height:1.55 !important; }
#nscc-app .nsrole-people { z-index:3 !important; position:relative !important; align-self:end !important; height:225px !important; }
#nscc-app .nsrole-people img { width:100% !important; height:100% !important; display:block !important; object-fit:contain !important; object-position:center bottom !important; filter:none !important; }
#nscc-app .nsrole-notice { z-index:5 !important; align-self:center !important; margin:20px 20px 20px -5px !important; display:flex !important; gap:11px !important; padding:16px !important; border:1px solid var(--portal-border) !important; border-right:4px solid var(--portal-primary) !important; border-radius:16px !important; background:rgba(255,255,255,.94) !important; box-shadow:0 13px 27px rgba(8,43,98,.12) !important; }
#nscc-app .nsrole-notice > b { width:40px !important; height:40px !important; display:grid !important; place-items:center !important; flex:0 0 40px !important; border-radius:50% !important; background:var(--portal-primary) !important; color:#fff !important; font-size:20px !important; }
#nscc-app .nsrole-notice strong { display:block !important; color:#082b62 !important; font-size:10px !important; }
#nscc-app .nsrole-notice p { margin:5px 0 !important; color:#718197 !important; font-size:8px !important; line-height:1.45 !important; }
#nscc-app .nsrole-notice button { padding:0 !important; border:0 !important; background:transparent !important; color:var(--portal-primary) !important; font:900 8px Arial,Helvetica,sans-serif !important; cursor:pointer !important; }
#nscc-app .nsrole-art { z-index:1 !important; position:absolute !important; pointer-events:none !important; filter:var(--portal-art-filter) !important; opacity:.65 !important; will-change:transform; }
#nscc-app .nsrole-art.art-peach { width:330px !important; left:35% !important; top:-55px !important; animation:nscnew-peach 18s ease-in-out infinite; }
#nscc-app .nsrole-art.art-blue-wave { width:180px !important; left:48% !important; bottom:-30px !important; animation:nscnew-blue-wave-motion 14s ease-in-out infinite; }
#nscc-app .nsrole-art.art-orb { width:74px !important; left:28% !important; top:18px !important; animation:nscnew-orb 15s ease-in-out infinite; }
#nscc-app .nsrole-art.art-hill { width:190px !important; right:-30px !important; bottom:-55px !important; animation:nscnew-hill 16s ease-in-out infinite; }
#nscc-app .nsrole-art.art-swoosh { width:82px !important; left:31% !important; bottom:12px !important; animation:nscnew-swoosh 15s ease-in-out infinite; }
#nscc-app .nsrole-hero-glow { z-index:0 !important; position:absolute !important; width:260px !important; height:260px !important; border-radius:50% !important; background:rgba(var(--portal-rgb),.16) !important; filter:blur(28px) !important; }
#nscc-app .nsrole-hero-glow.one { left:30% !important; bottom:-180px !important; }
#nscc-app .nsrole-hero-glow.two { right:-100px !important; top:-170px !important; }

/* =========================================================
   SOURCE KPI + HOME PANEL LANGUAGE
   ========================================================= */
#nscc-app .nsrole-kpis { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:12px !important; margin-top:15px !important; }
#nscc-app .nsrole-kpi { min-height:112px !important; position:relative !important; overflow:hidden !important; display:grid !important; gap:5px !important; padding:17px !important; border:1px solid #dce5ee !important; border-top:4px solid #c9d5e3 !important; border-radius:18px !important; background:linear-gradient(145deg,#fff 0%,#fff 63%,#f4f7fb 145%) !important; box-shadow:0 10px 22px rgba(8,43,98,.07) !important; }
#nscc-app .nsrole-kpi.primary { border-top-color:var(--portal-primary) !important; background:linear-gradient(145deg,#fff 0%,#fff 61%,var(--portal-soft) 145%) !important; }
#nscc-app .nsrole-kpi > span:not(.nscc-metric-glyph) { color:#56708f !important; font-size:9px !important; font-weight:800 !important; }
#nscc-app .nsrole-kpi strong { max-width:80% !important; color:#082b62 !important; font-size:18px !important; }
#nscc-app .nsrole-kpi small { color:#718197 !important; font-size:8px !important; }
#nscc-app .nsrole-kpi .nscc-metric-glyph { width:34px !important; height:34px !important; position:absolute !important; top:13px !important; right:13px !important; display:grid !important; place-items:center !important; border-radius:11px !important; background:var(--portal-soft) !important; color:var(--portal-primary) !important; }
#nscc-app .nsrole-kpi .nscc-metric-glyph .nscc-glyph-icon { width:18px !important; height:18px !important; }
#nscc-app .nsrole-home-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; margin-top:15px !important; }
#nscc-app .nsrole-panel { padding:20px !important; border:1px solid #dce5ee !important; border-radius:19px !important; background:#fff !important; box-shadow:0 12px 26px rgba(8,43,98,.075) !important; }
#nscc-app .nsrole-panel-head { display:flex !important; align-items:center !important; justify-content:space-between !important; }
#nscc-app .nsrole-panel-head > span { color:var(--portal-primary) !important; font-size:8px !important; font-weight:900 !important; letter-spacing:1.2px !important; }
#nscc-app .nsrole-panel-head .nscc-metric-glyph { width:32px !important; height:32px !important; display:grid !important; place-items:center !important; border-radius:10px !important; background:var(--portal-soft) !important; color:var(--portal-primary) !important; }
#nscc-app .nsrole-panel h2 { margin:8px 0 !important; color:#082b62 !important; font-size:18px !important; }
#nscc-app .nsrole-panel p { min-height:40px !important; margin:0 0 14px !important; color:#718197 !important; font-size:10px !important; line-height:1.5 !important; }
#nscc-app .nsrole-panel button { padding:0 !important; border:0 !important; background:transparent !important; color:var(--portal-primary) !important; font:900 9px Arial,Helvetica,sans-serif !important; cursor:pointer !important; box-shadow:none !important; }

/* Existing cards inherit the source rounded, lightweight visual language. */
#nscc-app .nscc-card,
#nscc-app .nscc-panel,
#nscc-app .nscc-table-wrap {
  border-color:#dce5ee !important;
  border-radius:19px !important;
  box-shadow:0 12px 26px rgba(8,43,98,.065) !important;
}
#nscc-app .nscc-button-primary {
  background:var(--portal-primary) !important;
  border-color:var(--portal-primary) !important;
  box-shadow:0 9px 20px var(--portal-shadow) !important;
}
#nscc-app .nscc-user-pill,
#nscc-app .nscc-kicker { color:var(--portal-primary) !important; }

/* Keep quick-action cards viable against host theme hover overrides. */
#nscc-app .nscc-quick-action,
#nscc-app .nscc-quick-action:hover,
#nscc-app .nscc-quick-action:focus,
#nscc-app .nscc-quick-action:active,
#nscc-app .nscc-participant-quick button,
#nscc-app .nscc-participant-quick button:hover,
#nscc-app .nscc-participant-quick button:focus,
#nscc-app .nscc-participant-quick button:active {
  color:#082b62 !important;
  background:#fff !important;
  text-shadow:none !important;
}
#nscc-app .nscc-quick-action strong,
#nscc-app .nscc-participant-quick strong { color:#082b62 !important; }
#nscc-app .nscc-quick-action small,
#nscc-app .nscc-participant-quick small { color:#718198 !important; }

/* =========================================================
   PAGE ENTRANCE + FLOATING ART MOTION FROM CLIENT BRIEF
   ========================================================= */
#nscc-app .nsc-page-enter-item {
  --nsc-enter-x:0px;
  --nsc-enter-y:14px;
  animation:nsc-page-element-enter 1.6s cubic-bezier(.22,.82,.22,1) both;
  animation-delay:var(--nsc-enter-delay,0ms);
  will-change:opacity,transform,filter;
}
#nscc-app .nsc-page-enter-item.nsc-enter-header { --nsc-enter-y:-11px; }
@keyframes nsc-page-element-enter {
  0% { opacity:0; filter:blur(1.5px); transform:translate3d(var(--nsc-enter-x),var(--nsc-enter-y),0) scale(.992); }
  55% { filter:blur(0); }
  100% { opacity:1; filter:none; transform:translate3d(0,0,0) scale(1); }
}
@keyframes nscnew-wave-hand { 0%,70%,100%{transform:rotate(0deg)} 76%{transform:rotate(15deg)} 82%{transform:rotate(-7deg)} 88%{transform:rotate(11deg)} }
@keyframes nscnew-pill { 0%,100%{transform:translateY(0) rotate(-28deg)} 50%{transform:translateY(-7px) rotate(-21deg)} }
@keyframes nscnew-dot { 0%,100%{transform:translate(0,0)} 50%{transform:translate(6px,-5px)} }
@keyframes nscnew-peach { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(-14px,7px,0)} }
@keyframes nscnew-blue-wave-motion { 0%,100%{transform:translate3d(0,0,0) rotate(-3deg)} 50%{transform:translate3d(11px,-7px,0) rotate(2deg)} }
@keyframes nscnew-orb { 0%,100%{transform:translateY(0) scale(1)} 50%{transform:translateY(-8px) scale(1.035)} }
@keyframes nscnew-hill { 0%,100%{transform:translate3d(0,0,0)} 50%{transform:translate3d(8px,-5px,0)} }
@keyframes nscnew-swoosh { 0%,100%{transform:rotate(-4deg)} 50%{transform:translate(-8px,-5px) rotate(2deg)} }

/* =========================================================
   LOGIN PORTAL SELECTOR - SOURCE ROLE COLOURS + LOGO FILTERS
   ========================================================= */
.nsc-concept-login .nsc-login-section {
  --navy:#082b62;
  --text:#173452;
  --muted:#718198;
  width:100%;
  min-height:100vh;
  padding:38px clamp(18px,3vw,48px) 45px;
  position:relative;
  overflow:hidden;
  color:var(--text);
  background:linear-gradient(180deg,#fbfdff 0%,#f7faff 55%,#eef6ff 100%) !important;
  font-family:Arial,Helvetica,sans-serif;
}
.nsc-concept-login .nsc-login-grid { display:grid !important; grid-template-columns:repeat(4,minmax(0,1fr)) !important; gap:15px !important; align-items:stretch !important; }
.nsc-concept-login .nsc-login-card { position:relative !important; min-width:0 !important; overflow:hidden !important; background:#fff !important; border:1px solid rgba(216,226,236,.92) !important; border-radius:24px !important; box-shadow:0 18px 48px rgba(19,53,85,.09) !important; transition:transform .22s ease,box-shadow .22s ease !important; }
.nsc-concept-login .nsc-login-card:hover { transform:translateY(-5px) !important; box-shadow:0 25px 62px rgba(19,53,85,.14) !important; }
.nsc-concept-login .nsc-admin-card { --role:#087cf0; --role-soft:#edf6ff; --role-rgb:8,124,240; --logo-filter:brightness(0) saturate(100%) invert(37%) sepia(96%) saturate(2816%) hue-rotate(196deg) brightness(99%) contrast(96%); }
.nsc-concept-login .nsc-worker-card { --role:#18a565; --role-soft:#edf9f3; --role-rgb:24,165,101; --logo-filter:brightness(0) saturate(100%) invert(47%) sepia(91%) saturate(633%) hue-rotate(103deg) brightness(91%) contrast(92%); }
.nsc-concept-login .nsc-participant-card { --role:#8244e8; --role-soft:#f5efff; --role-rgb:130,68,232; --logo-filter:brightness(0) saturate(100%) invert(36%) sepia(92%) saturate(1904%) hue-rotate(246deg) brightness(92%) contrast(98%); }
.nsc-concept-login .nsc-family-card { --role:#ff5b08; --role-soft:#fff2ea; --role-rgb:255,91,8; --logo-filter:brightness(0) saturate(100%) invert(46%) sepia(98%) saturate(2722%) hue-rotate(3deg) brightness(105%) contrast(104%); }
.nsc-concept-login .nsc-card-logo { width:196px !important; max-width:78% !important; height:auto !important; display:block !important; object-fit:contain !important; object-position:left center !important; filter:var(--logo-filter) !important; transition:filter .2s ease,transform .2s ease !important; }
.nsc-concept-login .nsc-card-logo-wrap,
.nsc-concept-login .nsc-card-logo,
.nsc-concept-login .nsc-logo-tagline { opacity:1 !important; visibility:visible !important; animation:none !important; }
.nsc-concept-login .nsc-login-card:hover .nsc-card-logo { transform:translateX(2px) !important; }
.nsc-concept-login .nsc-logo-tagline { color:var(--role) !important; }
.nsc-concept-login .nsc-role-badge { color:var(--role) !important; background:var(--role-soft) !important; border-color:rgba(var(--role-rgb),.18) !important; }
.nsc-concept-login .nsc-sign-in { color:#fff !important; background:var(--role) !important; box-shadow:0 9px 21px rgba(var(--role-rgb),.22) !important; }
.nsc-concept-login .nsc-person-orb { background:rgba(var(--role-rgb),.085) !important; }

/* =========================================================
   MODALS / TOASTS: KEEP APPLICATION VISIBLE
   ========================================================= */
.nscc-modal-backdrop {
  background:rgba(245,248,252,.08) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.nscc-toast-zone { z-index:10050 !important; }

/* =========================================================
   RESPONSIVE SOURCE NAVIGATION
   ========================================================= */
@media (max-width:1100px) {
  #nscc-app .nsrole-hero { grid-template-columns:43% 34% 23% !important; }
  #nscc-app .nsrole-notice { position:absolute !important; right:14px !important; bottom:14px !important; width:280px !important; margin:0 !important; }
  #nscc-app .nsrole-kpis { grid-template-columns:repeat(2,1fr) !important; }
}
@media (max-width:980px) {
  #nscc-app .nscc-layout.nscp-app,
  #nscc-app .nscc-layout.nsrole-app { grid-template-columns:1fr !important; }
  #nscc-app .nscc-sidebar.nscp-sidebar,
  #nscc-app .nscc-sidebar.nsrole-sidebar {
    width:calc(100% - 16px) !important;
    height:auto !important;
    min-height:0 !important;
    margin:8px !important;
    padding:13px !important;
    position:sticky !important;
    top:8px !important;
    border-radius:19px !important;
    overflow:hidden !important;
    box-shadow:0 14px 30px rgba(6,30,67,.16),0 3px 9px rgba(6,30,67,.08),inset 0 1px 0 rgba(255,255,255,.22) !important;
  }
  #nscc-app .nscp-brand,
  #nscc-app .nsrole-brand { padding:0 7px 10px !important; border-bottom:1px solid rgba(255,255,255,.24) !important; }
  #nscc-app .nscp-brand-logo,
  #nscc-app .nsrole-brand img { width:150px !important; height:34px !important; }
  #nscc-app .nscp-brand-context,
  #nscc-app .nsrole-brand small { font-size:7px !important; }
  #nscc-app .nscp-sidebar-rule { display:none !important; }
  #nscc-app .nscp-navigation,
  #nscc-app .nsrole-nav { display:flex !important; gap:5px !important; padding:10px 0 0 !important; overflow-x:auto !important; scrollbar-width:none !important; }
  #nscc-app .nscp-navigation::-webkit-scrollbar,
  #nscc-app .nsrole-nav::-webkit-scrollbar { display:none; }
  #nscc-app .nscc-nav-group { display:contents !important; }
  #nscc-app .nscp-nav-group-title { display:none !important; }
  #nscc-app button.nscp-nav-item,
  #nscc-app button.nsrole-nav-link { width:auto !important; min-width:max-content !important; min-height:38px !important; margin:0 !important; padding:5px 8px !important; }
  #nscc-app .nscp-nav-icon,
  #nscc-app .nsrole-nav-icon { width:26px !important; height:26px !important; flex-basis:26px !important; }
  #nscc-app .nsrole-switch { display:none !important; }
  #nscc-app .nscc-topbar.nscp-topbar,
  #nscc-app .nscc-topbar.nsrole-topbar { margin:10px 10px 0 !important; border-radius:13px !important; padding:10px 15px !important; }
  #nscc-app .nscc-main.nscp-content,
  #nscc-app .nscc-main.nsrole-content { padding:13px 15px 28px !important; }
  #nscc-app .nscc-build-banner { margin:10px 15px 0 !important; }
  #nscc-app .nsrole-home-grid { grid-template-columns:1fr !important; }
  #nscc-app .nscc-mobile-brand { display:none !important; }
}
@media (max-width:760px) {
  .nsc-concept-login .nsc-login-grid { grid-template-columns:1fr !important; }
  .nsc-concept-login .nsc-login-card { width:min(570px,100%) !important; margin:auto !important; }
}
@media (max-width:680px) {
  #nscc-app .nscc-topbar-kicker,
  #nscc-app .nscc-security-pill,
  #nscc-app .nscc-topbar-user { display:none !important; }
  #nscc-app .nscc-topbar.nscp-topbar,
  #nscc-app .nscc-topbar.nsrole-topbar { min-height:64px !important; justify-content:flex-end !important; }
  #nscc-app .nscc-topbar-context { margin-right:auto !important; }
  #nscc-app .nscc-topbar-context strong { font-size:11px !important; }
  #nscc-app .nsrole-hero { min-height:445px !important; display:block !important; }
  #nscc-app .nsrole-hero-copy { position:relative !important; padding:24px 20px !important; }
  #nscc-app .nsrole-hero-copy h1 { font-size:29px !important; }
  #nscc-app .nsrole-people { position:absolute !important; left:5% !important; right:5% !important; bottom:0 !important; height:245px !important; }
  #nscc-app .nsrole-notice { right:12px !important; bottom:12px !important; width:calc(100% - 24px) !important; }
  #nscc-app .nsrole-art.art-peach { left:8% !important; }
  #nscc-app .nsrole-art.art-orb { left:72% !important; }
  #nscc-app .nsrole-art.art-swoosh { left:5% !important; }
  #nscc-app .nsrole-kpis { grid-template-columns:1fr 1fr !important; }
  #nscc-app .nsrole-kpi { min-height:103px !important; }
  #nscc-app .nsrole-page-head,
  #nscc-app .nsc-client-admin-page-head { align-items:flex-start !important; flex-direction:column !important; padding:20px !important; }
  #nscc-app .nsrole-page-head h1,
  #nscc-app .nsc-client-admin-page-head h1 { font-size:30px !important; }
  #nscc-app .nsrole-page-head .nscc-actions,
  #nscc-app .nsc-client-admin-page-head .nscc-actions,
  #nscc-app .nsrole-page-head .nscc-button,
  #nscc-app .nsc-client-admin-page-head .nscc-button { width:100% !important; }
  #nscc-app .nscnew-dashboard-banner { min-height:330px !important; padding:23px 20px !important; }
  #nscc-app .nscnew-banner-copy { max-width:100% !important; padding-right:20% !important; }
  #nscc-app .nscnew-people-zone { width:70% !important; left:22% !important; opacity:.72 !important; }
  #nscc-app .nscnew-peach-wave { left:5% !important; width:80% !important; }
}
@media (max-width:520px) {
  .nsc-concept-login .nsc-login-section { padding:17px 11px 30px !important; }
  .nsc-concept-login .nsc-card-logo { width:177px !important; max-width:74% !important; }
  #nscc-app .nsrole-kpis { grid-template-columns:1fr !important; }
  #nscc-app .nscc-topbar-actions { gap:3px !important; }
  #nscc-app .nscc-notification-pill { display:none !important; }
}

@media (prefers-reduced-motion: reduce) {
  #nscc-app .nsc-page-enter-item,
  #nscc-app .nscnew-banner-copy h1 span,
  #nscc-app .nsrole-hero-copy h1 i,
  #nscc-app .nscnew-orange-pill,
  #nscc-app .nscnew-orange-dot,
  #nscc-app .nscnew-art,
  #nscc-app .nsrole-art {
    animation:none !important;
    transform:none !important;
  }
}
#nscc-app.nscc-motion-reduced .nsc-page-enter-item,
#nscc-app.nscc-motion-reduced .nscnew-banner-copy h1 span,
#nscc-app.nscc-motion-reduced .nsrole-hero-copy h1 i,
#nscc-app.nscc-motion-reduced .nscnew-orange-pill,
#nscc-app.nscc-motion-reduced .nscnew-orange-dot,
#nscc-app.nscc-motion-reduced .nscnew-art,
#nscc-app.nscc-motion-reduced .nsrole-art {
  animation:none !important;
  transform:none !important;
}

/* NS Care+ 1.9.0 production polish: linked data, automation and white-label surfaces */
#nscc-app .nscc-data-link,
#nscc-app button.nscc-card,
#nscc-app button.nsrole-kpi,
#nscc-app .nscc-directory-card[data-go],
#nscc-app .nsrole-panel[data-go],
#nscc-app .nscc-automation-card[data-go] {
  position:relative;
  cursor:pointer;
  transition:transform .2s ease, box-shadow .2s ease, filter .2s ease, border-color .2s ease;
  will-change:transform;
}
#nscc-app .nscc-data-link:hover,
#nscc-app button.nscc-card:hover,
#nscc-app button.nsrole-kpi:hover,
#nscc-app .nscc-directory-card[data-go]:hover,
#nscc-app .nsrole-panel[data-go]:hover,
#nscc-app .nscc-automation-card[data-go]:hover {
  transform:translateY(-4px) scale(1.008);
  box-shadow:0 18px 46px rgba(18,45,83,.16),0 5px 14px rgba(18,45,83,.08) !important;
  filter:saturate(1.04);
}
#nscc-app .nscc-data-link:focus-visible,
#nscc-app button.nscc-card:focus-visible,
#nscc-app button.nsrole-kpi:focus-visible,
#nscc-app [data-go]:focus-visible {
  outline:3px solid rgba(8,124,240,.34) !important;
  outline-offset:3px;
}
#nscc-app button.nsrole-kpi {
  width:100%; text-align:left; appearance:none; font:inherit; color:inherit;
}
#nscc-app .nscc-data-link::after,
#nscc-app button.nsrole-kpi::after,
#nscc-app .nscc-automation-card[data-go]::after {
  content:'→'; position:absolute; right:15px; top:14px; font-weight:900;
  opacity:0; transform:translateX(-5px); transition:opacity .18s ease,transform .18s ease;
}
#nscc-app .nscc-data-link:hover::after,
#nscc-app button.nsrole-kpi:hover::after,
#nscc-app .nscc-automation-card[data-go]:hover::after { opacity:.72; transform:translateX(0); }

#nscc-app .nscc-automation-hero {
  overflow:hidden; position:relative; padding:28px; border-radius:25px;
  background:linear-gradient(135deg,rgba(130,68,232,.12),rgba(8,124,240,.08) 60%,rgba(24,165,101,.08));
  border:1px solid rgba(130,68,232,.16); box-shadow:0 18px 45px rgba(39,43,83,.08);
}
#nscc-app .nscc-automation-hero::after {
  content:''; position:absolute; width:260px; height:260px; border-radius:50%; right:-95px; top:-125px;
  background:radial-gradient(circle,rgba(130,68,232,.22),rgba(130,68,232,0) 70%); pointer-events:none;
}
#nscc-app .nscc-automation-hero h1 { margin:6px 0 8px; font-size:clamp(29px,4vw,46px); letter-spacing:-.04em; }
#nscc-app .nscc-automation-hero p { max-width:760px; margin:0; color:var(--nscc-muted,#64748b); }
#nscc-app .nscc-automation-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; margin-top:18px; }
#nscc-app .nscc-automation-card {
  min-height:154px; padding:18px; border:1px solid rgba(15,23,42,.08); border-radius:20px;
  background:rgba(255,255,255,.92); box-shadow:0 10px 30px rgba(18,45,83,.06);
}
#nscc-app .nscc-automation-card strong { display:block; margin:9px 0 3px; font-size:28px; letter-spacing:-.03em; }
#nscc-app .nscc-automation-card small { display:block; color:var(--nscc-muted,#64748b); line-height:1.45; padding-right:18px; }
#nscc-app .nscc-human-gate {
  margin-top:18px; padding:20px; border-radius:20px; border:1px solid rgba(24,165,101,.16);
  background:linear-gradient(135deg,rgba(24,165,101,.08),rgba(255,255,255,.92));
}
#nscc-app .nscc-guardrail-flow { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin-top:12px; }
#nscc-app .nscc-guardrail-step { padding:16px; border-radius:16px; background:#fff; border:1px solid rgba(15,23,42,.08); }
#nscc-app .nscc-guardrail-step b { display:block; margin-bottom:5px; }
#nscc-app .nscc-environment-pill { box-shadow:0 0 0 3px rgba(8,124,240,.08),0 7px 18px rgba(18,45,83,.08); }
#nscc-app .nscc-environment-pill[data-environment="uat"] { box-shadow:0 0 0 3px rgba(255,91,8,.10),0 7px 18px rgba(18,45,83,.08); }

@media (max-width:1180px) { #nscc-app .nscc-automation-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:760px) {
  #nscc-app .nscc-automation-grid { grid-template-columns:1fr 1fr; }
  #nscc-app .nscc-guardrail-flow { grid-template-columns:1fr; }
  #nscc-app .nscc-automation-hero { padding:21px; }
}
@media (max-width:520px) { #nscc-app .nscc-automation-grid { grid-template-columns:1fr; } }
@media (prefers-reduced-motion:reduce) {
  #nscc-app .nscc-data-link,#nscc-app button.nscc-card,#nscc-app button.nsrole-kpi,
  #nscc-app .nscc-directory-card[data-go],#nscc-app .nsrole-panel[data-go],#nscc-app .nscc-automation-card[data-go] { transition:none !important; }
  #nscc-app .nscc-data-link:hover,#nscc-app button.nscc-card:hover,#nscc-app button.nsrole-kpi:hover,
  #nscc-app .nscc-directory-card[data-go]:hover,#nscc-app .nsrole-panel[data-go]:hover,#nscc-app .nscc-automation-card[data-go]:hover { transform:none !important; }
}

/* 1.9.0 interaction depth for informational surfaces */
#nscc-app .nscc-card,
#nscc-app .nscc-panel,
#nscc-app .nsrole-panel,
#nscc-app .nscc-quick-action,
#nscc-app .nscc-connector-card,
#nscc-app .nscc-attention-item {
  transition:box-shadow .2s ease,border-color .2s ease,filter .2s ease,transform .2s ease;
}
#nscc-app .nscc-card:hover,
#nscc-app .nscc-panel:hover,
#nscc-app .nsrole-panel:hover,
#nscc-app .nscc-connector-card:hover {
  border-color:rgba(8,124,240,.16);
  box-shadow:0 14px 34px rgba(18,45,83,.09);
}
#nscc-app .nscc-quick-action:hover,
#nscc-app .nscc-attention-item:is(button):hover { transform:translateY(-3px); filter:saturate(1.05); }
#nscc-app .nscc-quick-action:hover .nscc-nav-icon,
#nscc-app .nscc-data-link:hover .nscc-nav-icon,
#nscc-app .nscc-automation-card:hover .nscc-automation-icon { transform:scale(1.08) rotate(-2deg); }
#nscc-app .nscc-nav-icon,
#nscc-app .nscc-automation-icon { transition:transform .2s ease; }
#nscc-app .nscc-notification-row.is-unread { border-left:4px solid var(--nscc-blue,#087cf0); background:linear-gradient(90deg,rgba(8,124,240,.055),#fff 30%); }
#nscc-app .nscc-notification-row.is-read { opacity:.82; }
@media (prefers-reduced-motion:reduce) {
  #nscc-app .nscc-card,#nscc-app .nscc-panel,#nscc-app .nsrole-panel,#nscc-app .nscc-quick-action,#nscc-app .nscc-connector-card,#nscc-app .nscc-attention-item,#nscc-app .nscc-nav-icon,#nscc-app .nscc-automation-icon { transition:none !important; transform:none !important; }
}
#nscc-app .nscc-branding-assets { margin-top:16px; padding:15px 17px; border:1px solid rgba(15,23,42,.08); border-radius:16px; background:rgba(248,250,252,.78); }
#nscc-app .nscc-branding-assets summary { cursor:pointer; font-weight:800; color:var(--nscc-navy,#0f2744); }
#nscc-app .nscc-branding-assets[open] summary { margin-bottom:12px; }


/* =========================================================
   RELEASE 1.12.1 · CREDENTIAL WORKSPACE + UAT EMAIL TESTING
   ========================================================= */
.nscc-modal-password-flow {
  background:rgba(245,248,252,.12) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
}
.nscc-modal.nscc-modal-password-access {
  width:min(980px,calc(100vw - 44px)) !important;
  max-height:min(92vh,920px) !important;
  border:1px solid rgba(8,124,240,.16) !important;
  box-shadow:0 32px 90px rgba(8,43,98,.22),0 2px 10px rgba(8,43,98,.08) !important;
}
.nscc-modal-password-access .nscc-modal-body,
.nscc-modal-password-delivery .nscc-modal-body,
.nscc-modal-password-update .nscc-modal-body { padding:22px !important; background:linear-gradient(180deg,#fbfdff 0%,#f5f8fc 100%) !important; }
.nscc-password-access-shell { display:grid; gap:18px; }
.nscc-password-person-card { display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:15px; align-items:center; padding:18px 20px; border:1px solid #dce8f3; border-radius:20px; background:linear-gradient(135deg,#fff 0%,#f5faff 72%,#eef7ff 100%); box-shadow:0 10px 26px rgba(8,43,98,.06); }
.nscc-password-person-icon { display:grid; place-items:center; width:50px; height:50px; border-radius:16px; background:#eaf5ff; color:#087cf0; }
.nscc-password-person-icon .nscc-nav-icon { width:26px; height:26px; background:transparent !important; color:inherit !important; }
.nscc-password-person-copy h3 { margin:3px 0 2px; color:#082b62; font-size:22px; line-height:1.15; }
.nscc-password-person-copy p { margin:0; color:#718198; font-size:11px; }
.nscc-password-env-pill { display:grid; gap:2px; min-width:118px; padding:9px 12px; border:1px solid rgba(8,124,240,.18); border-radius:14px; background:#fff; text-align:right; }
.nscc-password-env-pill strong { color:#087cf0; font-size:9px; letter-spacing:.08em; }
.nscc-password-env-pill span { color:#718198; font-size:8px; }
.nscc-password-intro { padding:2px 2px 0; }
.nscc-password-intro h3 { margin:4px 0 6px; color:#082b62; font-size:23px; }
.nscc-password-intro p { max-width:760px; margin:0; color:#63778e; font-size:12px; line-height:1.6; }
.nscc-password-action-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:14px !important; }
.nscc-password-action { position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start; min-height:178px; padding:18px; border:1px solid #dbe6ef; border-radius:20px; background:#fff; color:#082b62; text-align:left; cursor:pointer; box-shadow:0 10px 24px rgba(8,43,98,.06); transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease; }
.nscc-password-action:hover,.nscc-password-action:focus-visible { transform:translateY(-3px); box-shadow:0 18px 34px rgba(8,43,98,.12); outline:none; }
.nscc-password-action .nscc-nav-icon { width:39px; height:39px; border-radius:13px; }
.nscc-password-action-copy { display:grid; gap:5px; min-width:0; }
.nscc-password-action-copy strong { font-size:14px; line-height:1.25; color:#082b62; }
.nscc-password-action-copy small { color:#687d93; font-size:10px; line-height:1.5; font-weight:620; }
.nscc-password-action-arrow { align-self:end; color:#7890a8; font-size:24px; line-height:1; transition:transform .18s ease; }
.nscc-password-action:hover .nscc-password-action-arrow { transform:translateX(4px); }
.nscc-password-action-green { border-top:4px solid #18a565; }
.nscc-password-action-blue { border-top:4px solid #087cf0; }
.nscc-password-action-orange { border-top:4px solid #ff5b08; }
.nscc-password-action-green:hover { background:#f5fcf8; border-color:#a7e1c4; }
.nscc-password-action-blue:hover { background:#f5faff; border-color:#a8d5ff; }
.nscc-password-action-orange:hover { background:#fff9f5; border-color:#ffc6a8; }
.nscc-password-action.is-loading { opacity:.65; cursor:progress; transform:none !important; }
.nscc-password-safety-note { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:start; padding:14px 16px; border:1px solid #d7e9f8; border-radius:16px; background:#f5faff; }
.nscc-password-safety-note > span .nscc-nav-icon { color:#087cf0; background:#e8f4ff; }
.nscc-password-safety-note strong { display:block; color:#082b62; font-size:11px; }
.nscc-password-safety-note p { margin:3px 0 0; color:#687d93; font-size:10px; line-height:1.5; }
.nscc-modal.nscc-modal-password-delivery { width:min(900px,calc(100vw - 44px)) !important; max-height:min(94vh,980px) !important; }
.nscc-modal.nscc-modal-password-update { width:min(760px,calc(100vw - 44px)) !important; }
.nscc-modal-password-delivery .nscc-invite-recipient { grid-template-columns:minmax(0,1fr) auto !important; background:#fff !important; box-shadow:0 10px 24px rgba(8,43,98,.05); }
.nscc-modal-password-delivery .nscc-invite-link textarea { min-height:78px !important; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important; font-size:10px !important; line-height:1.45 !important; background:#f7fafc !important; }
.nscc-modal-password-delivery [data-copy-reset].is-copied { border-color:#18a565 !important; background:#eefaf4 !important; color:#12623f !important; }
.nscc-uat-email-card { border-color:#cce6ff !important; background:linear-gradient(145deg,#fff 0%,#f7fbff 58%,#eef7ff 100%) !important; box-shadow:0 14px 32px rgba(8,43,98,.06) !important; }
.nscc-uat-email-test-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:12px; align-items:end; }
.nscc-uat-email-test-row .nscc-field { margin:0; }
@media(max-width:900px){
  .nscc-password-action-grid { grid-template-columns:1fr !important; }
  .nscc-password-action { min-height:0; }
  .nscc-password-person-card { grid-template-columns:auto minmax(0,1fr); }
  .nscc-password-env-pill { grid-column:1/-1; text-align:left; }
}
@media(max-width:620px){
  .nscc-modal.nscc-modal-password-access,.nscc-modal.nscc-modal-password-delivery,.nscc-modal.nscc-modal-password-update { width:100% !important; max-width:100% !important; }
  .nscc-password-person-card { padding:14px; }
  .nscc-uat-email-test-row { grid-template-columns:1fr; align-items:stretch; }
}
@media(prefers-reduced-motion:reduce){
  .nscc-password-action,.nscc-password-action-arrow { transition:none !important; }
  .nscc-password-action:hover,.nscc-password-action:focus-visible { transform:none !important; }
}

/* =========================================================
   RELEASE 1.12.2 · PERSISTENT CREDENTIAL WORKSPACE
   ========================================================= */
.nscc-modal.nscc-modal-credential-workspace {
  width:min(1180px,calc(100vw - 48px)) !important;
  max-width:1180px !important;
  max-height:min(94vh,1040px) !important;
  overflow:auto !important;
  border:1px solid rgba(8,124,240,.18) !important;
  border-radius:26px !important;
  background:#f7faff !important;
  box-shadow:0 36px 110px rgba(8,43,98,.25),0 4px 18px rgba(8,43,98,.08) !important;
}
.nscc-modal-credential-workspace .nscc-modal-head {
  min-height:72px !important;
  padding:15px 22px !important;
  background:rgba(255,255,255,.98) !important;
  border-bottom:1px solid #e2ebf4 !important;
}
.nscc-modal-credential-workspace .nscc-modal-head h2 {
  font-size:21px !important;
  font-weight:850 !important;
}
.nscc-modal-credential-workspace .nscc-modal-body {
  padding:0 !important;
  background:linear-gradient(180deg,#f9fbff 0%,#f3f7fb 100%) !important;
}
.nscc-credential-shell { display:grid; gap:0; color:#082b62; }
.nscc-credential-person-card {
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:16px; align-items:center;
  padding:20px 24px; overflow:hidden; border-bottom:1px solid #e0eaf4;
  background:linear-gradient(135deg,#fff 0%,#f5faff 58%,#eef7ff 100%);
}
.nscc-credential-person-card::before { content:""; position:absolute; inset:0 auto 0 0; width:5px; background:#087cf0; }
.nscc-credential-person-card.nscc-credential-tone-green::before { background:#18a565; }
.nscc-credential-person-card.nscc-credential-tone-purple::before { background:#8244e8; }
.nscc-credential-person-card.nscc-credential-tone-orange::before { background:#ff5b08; }
.nscc-credential-avatar { display:grid; place-items:center; }
.nscc-credential-avatar .nscc-avatar { width:58px !important; height:58px !important; font-size:17px !important; box-shadow:0 8px 20px rgba(8,43,98,.10); }
.nscc-credential-person-copy { min-width:0; }
.nscc-credential-person-copy h3 { margin:3px 0 2px; font-size:23px; line-height:1.1; color:#082b62; letter-spacing:-.02em; }
.nscc-credential-person-copy p { margin:0; color:#667b91; font-size:12px; overflow-wrap:anywhere; }
.nscc-credential-env-pill { display:grid; gap:2px; min-width:132px; padding:10px 13px; border:1px solid #cae5ff; border-radius:14px; background:#fff; text-align:right; box-shadow:0 7px 18px rgba(8,43,98,.05); }
.nscc-credential-env-pill strong { color:#087cf0; font-size:10px; letter-spacing:.09em; }
.nscc-credential-env-pill span { color:#74879a; font-size:9px; }
.nscc-credential-env-pill.is-production { border-color:#bfe7d1; background:#f4fbf7; }
.nscc-credential-env-pill.is-production strong { color:#14764b; }
.nscc-credential-intro { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:20px; align-items:center; padding:22px 24px 12px; }
.nscc-credential-intro h3 { margin:3px 0 6px; font-size:25px; line-height:1.12; letter-spacing:-.025em; }
.nscc-credential-intro p { max-width:720px; margin:0; color:#61778e; font-size:13px; line-height:1.6; }
.nscc-credential-lock-note { display:flex; align-items:center; gap:9px; padding:10px 12px; border:1px solid #d4e7f8; border-radius:14px; background:#fff; box-shadow:0 8px 20px rgba(8,43,98,.04); }
.nscc-credential-lock-note .nscc-nav-icon { width:31px; height:31px; border-radius:10px; color:#087cf0; background:#eaf5ff; }
.nscc-credential-lock-note span { display:grid; gap:2px; }
.nscc-credential-lock-note strong { font-size:10px; }
.nscc-credential-lock-note small { color:#71869a; font-size:9px; }
.nscc-credential-action-grid { display:grid !important; grid-template-columns:repeat(3,minmax(0,1fr)) !important; gap:13px !important; padding:12px 24px 20px; }
.nscc-credential-action {
  position:relative; display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:12px; align-items:start;
  min-height:136px; padding:16px; overflow:hidden; border:1px solid #d9e5ef; border-radius:18px;
  background:#fff; color:#082b62; text-align:left; cursor:pointer; box-shadow:0 9px 24px rgba(8,43,98,.055);
  transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background .16s ease;
}
.nscc-credential-action::before { content:""; position:absolute; inset:0 0 auto; height:4px; background:#087cf0; }
.nscc-credential-action-green::before { background:#18a565; }
.nscc-credential-action-orange::before { background:#ff5b08; }
.nscc-credential-action:hover,.nscc-credential-action:focus-visible,.nscc-credential-action.is-active { transform:translateY(-2px); border-color:#a9d4fa; box-shadow:0 16px 34px rgba(8,43,98,.11); outline:none; }
.nscc-credential-action.is-active { background:#f7fbff; box-shadow:0 0 0 2px rgba(8,124,240,.10),0 16px 34px rgba(8,43,98,.10); }
.nscc-credential-action-green.is-active { border-color:#a9dfc4; background:#f5fcf8; box-shadow:0 0 0 2px rgba(24,165,101,.09),0 16px 34px rgba(8,43,98,.10); }
.nscc-credential-action-orange.is-active { border-color:#ffc6a7; background:#fff9f5; box-shadow:0 0 0 2px rgba(255,91,8,.08),0 16px 34px rgba(8,43,98,.10); }
.nscc-credential-action .nscc-nav-icon { width:40px; height:40px; border-radius:12px; }
.nscc-credential-action-copy { display:grid; gap:5px; min-width:0; }
.nscc-credential-action-copy strong { font-size:14px; line-height:1.25; color:#082b62; }
.nscc-credential-action-copy small { color:#667b91; font-size:10px; line-height:1.45; font-weight:620; }
.nscc-credential-action-arrow { align-self:end; color:#6e86a0; font-size:22px; line-height:1; transition:transform .16s ease; }
.nscc-credential-action:hover .nscc-credential-action-arrow,.nscc-credential-action.is-active .nscc-credential-action-arrow { transform:translateX(3px); }
.nscc-credential-workspace { margin:0 24px 20px; min-height:310px; border:1px solid #dce7f1; border-radius:21px; background:#fff; box-shadow:0 12px 32px rgba(8,43,98,.06); overflow:hidden; }
.nscc-credential-workspace-empty { display:grid; justify-items:center; align-content:center; min-height:310px; padding:28px; text-align:center; background:radial-gradient(circle at 50% 0%,#eef7ff 0%,#fff 48%); }
.nscc-credential-workspace-symbol { display:grid; place-items:center; width:58px; height:58px; margin-bottom:10px; border-radius:18px; background:#eaf5ff; color:#087cf0; box-shadow:0 10px 24px rgba(8,124,240,.10); }
.nscc-credential-workspace-symbol .nscc-nav-icon { width:30px; height:30px; background:transparent !important; color:inherit !important; }
.nscc-credential-workspace-empty h3 { margin:5px 0 6px; font-size:22px; }
.nscc-credential-workspace-empty > p { max-width:700px; margin:0; color:#667b91; font-size:12px; line-height:1.6; }
.nscc-credential-promise-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; width:min(720px,100%); margin-top:20px; text-align:left; }
.nscc-credential-promise-grid > span { display:grid; grid-template-columns:auto minmax(0,1fr); gap:2px 8px; align-items:center; padding:12px 13px; border:1px solid #e1eaf2; border-radius:14px; background:#fbfdff; }
.nscc-credential-promise-grid b { grid-row:1/3; display:grid; place-items:center; width:30px; height:30px; border-radius:9px; background:#eef6fe; color:#087cf0; font-size:10px; }
.nscc-credential-promise-grid strong { font-size:11px; }
.nscc-credential-promise-grid small { color:#75879a; font-size:9px; }
.nscc-credential-loading { display:flex; align-items:center; justify-content:center; gap:16px; min-height:310px; padding:30px; }
.nscc-credential-loading h3 { margin:3px 0 4px; font-size:21px; }
.nscc-credential-loading p { margin:0; color:#687d93; font-size:11px; }
.nscc-credential-panel { padding:22px; }
.nscc-credential-panel-head { display:flex; justify-content:space-between; gap:18px; align-items:flex-start; padding-bottom:16px; margin-bottom:17px; border-bottom:1px solid #e6edf4; }
.nscc-credential-panel-head h3 { margin:3px 0 5px; font-size:22px; letter-spacing:-.02em; }
.nscc-credential-panel-head p { max-width:720px; margin:0; color:#64798f; font-size:12px; line-height:1.55; }
.nscc-credential-status-pill { flex:0 0 auto; padding:7px 10px; border:1px solid #cae5ff; border-radius:999px; background:#eef7ff; color:#087cf0; font-size:9px; font-weight:850; letter-spacing:.06em; }
.nscc-credential-status-pill.is-sent { border-color:#bce5ce; background:#effaf4; color:#15784c; }
.nscc-credential-status-pill.is-warning { border-color:#ffd0b7; background:#fff5ef; color:#b94b12; }
.nscc-credential-email-grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.nscc-credential-link-box { padding:15px; margin-top:12px; border:1px solid #d9e7f4; border-radius:16px; background:#f7fbff; }
.nscc-credential-link-box > label { display:block; margin-bottom:8px; color:#163a67; font-size:10px; font-weight:850; letter-spacing:.02em; }
.nscc-credential-link-box > small { display:block; margin-top:8px; color:#74879a; font-size:9px; line-height:1.45; }
.nscc-credential-copy-row { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:stretch; }
.nscc-credential-copy-row textarea { min-height:72px !important; resize:none; margin:0 !important; padding:11px 12px !important; border:1px solid #d6e3ef !important; border-radius:12px !important; background:#fff !important; color:#334f6f !important; font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace !important; font-size:10px !important; line-height:1.5 !important; }
.nscc-credential-copy-row .nscc-button { align-self:stretch; min-width:145px; }
.nscc-credential-copy-row .is-copied { border-color:#18a565 !important; background:#effaf4 !important; color:#12623f !important; }
.nscc-credential-login-box { display:grid; grid-template-columns:auto auto minmax(0,1fr); gap:10px; align-items:center; padding:12px 14px; margin-top:12px; border:1px solid #e1e8ef; border-radius:14px; background:#fbfcfe; }
.nscc-credential-login-box span { color:#6f8296; font-size:9px; }
.nscc-credential-login-box strong { font-size:10px; }
.nscc-credential-login-box input { margin:0 !important; min-width:0; font-size:10px !important; }
.nscc-credential-panel .nscc-field label { font-size:11px !important; }
.nscc-credential-panel .nscc-field input,.nscc-credential-panel .nscc-field textarea { font-size:12px !important; }
.nscc-credential-panel-actions { margin-top:16px !important; padding-top:15px; border-top:1px solid #edf1f5; }
.nscc-credential-complete { display:grid; justify-items:center; align-content:center; min-height:310px; padding:30px; text-align:center; }
.nscc-credential-complete h3 { margin:6px 0; font-size:23px; }
.nscc-credential-complete p { max-width:600px; margin:0 0 18px; color:#687d93; font-size:12px; }
.nscc-credential-footer { display:flex; justify-content:space-between; align-items:center; gap:15px; padding:14px 24px 18px; border-top:1px solid #e2ebf4; background:rgba(255,255,255,.82); }
.nscc-credential-footer > div { display:flex; align-items:center; gap:9px; }
.nscc-credential-footer .nscc-nav-icon { width:30px; height:30px; border-radius:10px; background:#eaf5ff; color:#087cf0; }
.nscc-credential-footer span { display:grid; gap:1px; }
.nscc-credential-footer strong { font-size:10px; }
.nscc-credential-footer small { color:#788a9c; font-size:9px; }

/* Keep account-created/reset composer comfortably sized and persistent too. */
.nscc-modal.nscc-modal-password-delivery {
  width:min(1040px,calc(100vw - 48px)) !important;
  max-width:1040px !important;
  max-height:min(94vh,1040px) !important;
}
.nscc-modal-password-delivery .nscc-modal-body { padding:24px !important; }
.nscc-modal-password-delivery .nscc-invite-editor { gap:15px !important; }
.nscc-modal-password-delivery .nscc-invite-editor textarea { font-size:12px !important; line-height:1.55 !important; }
.nscc-modal-password-delivery .nscc-invite-actions { position:sticky; bottom:-24px; z-index:2; margin:0 -24px -24px !important; padding:15px 24px 18px; border-top:1px solid #e3ebf3; background:rgba(255,255,255,.98); box-shadow:0 -10px 24px rgba(8,43,98,.05); }

@media(max-width:920px){
  .nscc-modal.nscc-modal-credential-workspace { width:min(860px,calc(100vw - 24px)) !important; }
  .nscc-credential-action-grid { grid-template-columns:1fr !important; }
  .nscc-credential-action { min-height:0; }
  .nscc-credential-intro { grid-template-columns:1fr; }
  .nscc-credential-lock-note { justify-self:start; }
}
@media(max-width:680px){
  .nscc-modal.nscc-modal-credential-workspace { width:100% !important; max-width:100% !important; max-height:100vh !important; border-radius:20px 20px 0 0 !important; }
  .nscc-credential-person-card { grid-template-columns:auto minmax(0,1fr); padding:16px; }
  .nscc-credential-env-pill { grid-column:1/-1; text-align:left; }
  .nscc-credential-intro,.nscc-credential-action-grid { padding-left:16px; padding-right:16px; }
  .nscc-credential-workspace { margin-left:16px; margin-right:16px; }
  .nscc-credential-promise-grid,.nscc-credential-email-grid { grid-template-columns:1fr; }
  .nscc-credential-copy-row { grid-template-columns:1fr; }
  .nscc-credential-copy-row .nscc-button { min-width:0; }
  .nscc-credential-login-box { grid-template-columns:1fr; }
  .nscc-credential-footer { padding-left:16px; padding-right:16px; }
}
@media(prefers-reduced-motion:reduce){
  .nscc-credential-action,.nscc-credential-action-arrow { transition:none !important; }
  .nscc-credential-action:hover,.nscc-credential-action:focus-visible,.nscc-credential-action.is-active { transform:none !important; }
  .nscc-credential-workspace { scroll-behavior:auto !important; }
}
.nscc-credential-delivery-panel { padding:24px !important; }
.nscc-credential-delivery-person { display:flex; justify-content:space-between; align-items:center; gap:16px; padding:14px 16px; margin-bottom:16px; border:1px solid #dce7f0; border-radius:16px; background:linear-gradient(135deg,#fff,#f6faff); }
.nscc-credential-delivery-person > div { display:flex; align-items:center; gap:11px; min-width:0; }
.nscc-credential-delivery-person > div > span,.nscc-credential-delivery-person > span { display:grid; gap:2px; min-width:0; }
.nscc-credential-delivery-person strong { color:#082b62; font-size:12px; }
.nscc-credential-delivery-person small { color:#6f8296; font-size:9px; overflow-wrap:anywhere; }
.nscc-credential-delivery-person > span { text-align:right; }
.nscc-credential-delivery-person > span b { color:#087cf0; font-size:10px; }
@media(max-width:680px){.nscc-credential-delivery-person{align-items:flex-start;flex-direction:column}.nscc-credential-delivery-person>span{text-align:left}}

/* Release 1.12.4: explicit Development identity */
#nscc-app .nscc-environment-pill.is-dev{box-shadow:0 0 0 3px rgba(130,68,232,.10),0 7px 18px rgba(18,45,83,.08)}
