/* NCIS FOS native identity handoff v1.4.0. Browser login remains canonical. */
@font-face{font-family:"NC Native Wordmark";src:url("../nc-ui/fonts/cinzel/cinzel-latin-wght-normal.woff2") format("woff2");font-style:normal;font-weight:400;font-display:block}
.nc-auth-transition__destination,.nc-auth-transition__progress,.nc-auth-transition__orb img{display:none}
.nc-native-login-brand,.nc-native-login-meta{display:none}

html.ncis-native-app body.nc-foundation-login{
  min-height:100dvh;color:#f4faf6;background:
    linear-gradient(180deg,rgba(0,13,10,.55),transparent 23%,transparent 72%,rgba(0,15,11,.38)),
    radial-gradient(circle at 14% 28%,rgba(54,211,198,.24),transparent 23rem),
    radial-gradient(circle at 86% 68%,rgba(233,192,80,.16),transparent 25rem),
    linear-gradient(155deg,#011a13 0%,#07533d 52%,#172e2b 100%)!important;
  overflow-x:hidden
}
html.ncis-native-app body.nc-foundation-login:before,
html.ncis-native-app body.nc-foundation-login:after{
  content:"";position:fixed;z-index:0;border-radius:50%;pointer-events:none;opacity:.62;
  will-change:transform;transform-origin:50% 50%
}
html.ncis-native-app body.nc-foundation-login:before{
  width:min(112vw,560px);height:min(112vw,560px);left:-34vw;top:-10vh;
  background:
    radial-gradient(circle at 37% 31%,rgba(244,255,252,.92) 0 1.2%,rgba(74,218,216,.42) 3.2%,rgba(11,104,83,.12) 24%,transparent 42%),
    radial-gradient(circle,transparent 0 54%,rgba(112,226,221,.22) 54.4% 54.9%,transparent 55.3% 67%,rgba(221,185,91,.2) 67.4% 68%,transparent 68.4%),
    conic-gradient(from 18deg,transparent 0 11%,rgba(99,231,226,.54) 13% 16%,transparent 18% 48%,rgba(231,193,94,.46) 51% 54%,transparent 57% 100%);
  filter:drop-shadow(0 0 34px rgba(63,210,204,.2));
  animation:ncNativeOrbOrbit 13s linear infinite
}
html.ncis-native-app body.nc-foundation-login:after{
  width:min(104vw,520px);height:min(104vw,520px);right:-29vw;bottom:-5vh;
  background:
    radial-gradient(circle at 62% 35%,rgba(255,239,185,.72) 0 1%,rgba(229,190,87,.34) 3%,rgba(15,100,78,.08) 25%,transparent 43%),
    radial-gradient(circle,transparent 0 48%,rgba(232,195,99,.2) 48.4% 49%,transparent 49.4% 65%,rgba(101,222,217,.2) 65.4% 66%,transparent 66.4%),
    conic-gradient(from 202deg,transparent 0 18%,rgba(231,193,94,.48) 20% 24%,transparent 26% 61%,rgba(96,225,220,.46) 64% 68%,transparent 71% 100%);
  filter:drop-shadow(0 0 32px rgba(223,187,91,.18));
  animation:ncNativeOrbOrbitReverse 17s linear infinite
}
html.ncis-native-app .enterprise-page{position:relative;z-index:1;min-height:100dvh!important;background:transparent!important}
html.ncis-native-app .enterprise-page>.nc-global-shell,
html.ncis-native-app .enterprise-page>header,
html.ncis-native-app .enterprise-page>footer,
html.ncis-native-app .nc-global-header,
html.ncis-native-app .nc-global-menu-shade,
html.ncis-native-app .nc-global-menu,
html.ncis-native-app .nc-global-launcher,
html.ncis-native-app .nc-global-footer,
html.ncis-native-app .nc-global-shell-header,
html.ncis-native-app .nc-global-shell-footer{display:none!important}
html.ncis-native-app .enterprise-main{
  display:grid!important;align-content:center!important;justify-items:center!important;
  width:min(100% - 28px,480px)!important;min-height:100dvh!important;margin:0 auto!important;
  padding:max(30px,env(safe-area-inset-top)) 0 max(28px,env(safe-area-inset-bottom))!important;
  transform:translateY(clamp(12px,3.5vh,42px))
}
html.ncis-native-app .nc-native-login-brand{display:grid;place-items:center;margin:0 auto 20px;text-align:center}
html.ncis-native-app .nc-native-login-brand img{width:90px;height:90px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.24))}
html.ncis-native-app .nc-native-login-brand span{display:grid;gap:3px;margin-top:8px}
/* Extra specificity is intentional: regression-canonical is loaded later and
   otherwise forces every enterprise-main strong back to Afacad Flux. */
html.ncis-native-app body.ncde-v31 .enterprise-main .nc-native-login-brand strong{font-family:"NC Native Wordmark",Cinzel,Georgia,serif!important;font-size:18px!important;font-weight:520!important;line-height:1.1!important;letter-spacing:.065em!important;color:#ebcb77}
html.ncis-native-app .nc-native-login-brand small{font:700 7px/1.2 "Afacad Flux",Arial,sans-serif;letter-spacing:.19em;color:rgba(239,207,124,.72)}
html.ncis-native-app .enterprise-login-shell.login-shell{display:block!important;width:94%!important;min-height:0!important;margin-inline:auto!important}
html.ncis-native-app .enterprise-login-intro{display:none!important}
html.ncis-native-app .enterprise-login-card.login-card{
  position:relative;isolation:isolate;overflow:hidden;width:100%;padding:28px 25px!important;
  border:1px solid rgba(223,244,237,.46)!important;border-radius:28px!important;
  background:linear-gradient(145deg,rgba(245,253,249,.62),rgba(225,242,235,.48))!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.66),inset 0 -1px 0 rgba(113,176,155,.13),0 24px 65px rgba(0,18,13,.33)!important;
  -webkit-backdrop-filter:blur(18px) saturate(1.22)!important;backdrop-filter:blur(18px) saturate(1.22)!important
}
html.ncis-native-app .enterprise-login-card.login-card:before{
  content:"";position:absolute;z-index:-1;inset:0;pointer-events:none;
  background:linear-gradient(112deg,rgba(255,255,255,.26),transparent 34%,rgba(104,218,205,.08) 66%,rgba(232,196,101,.1));
  opacity:.78
}
html.ncis-native-app .enterprise-login-card .registration-entry{margin-top:18px}
html.ncis-native-app .enterprise-login-card .card-kicker{font-size:12px!important}
html.ncis-native-app .enterprise-login-card .login-form label>span:first-child{font-size:16px!important}
html.ncis-native-app .enterprise-login-card .login-form input{font-size:18px!important;min-height:62px}
html.ncis-native-app .enterprise-login-card .password-wrap button{
  top:50%!important;right:9px!important;min-width:68px;font-size:15px!important;
  transform:translateY(-50%)!important
}
html.ncis-native-app .enterprise-login-card .nc-login-help a{font-size:16px!important}
html.ncis-native-app .enterprise-login-card .nc-stay-signed-in{
  min-height:32px!important;padding:2px 0!important;gap:10px!important;
  border-radius:0!important;background:transparent!important
}
html.ncis-native-app .enterprise-login-card .nc-stay-signed-in input{
  appearance:none!important;width:25px!important;height:25px!important;min-height:25px!important;
  flex:0 0 25px!important;margin:0!important;border:2px solid rgba(11,97,73,.68)!important;
  border-radius:7px!important;background:rgba(255,255,255,.88)!important;
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.88),0 2px 7px rgba(11,97,73,.08)!important;
  display:grid!important;place-content:center!important
}
html.ncis-native-app .enterprise-login-card .nc-stay-signed-in input:checked{
  border-color:#0b6149!important;background:#0b6149!important;
  box-shadow:inset 0 0 0 2px #0b6149,0 0 0 3px rgba(11,97,73,.12)!important
}
html.ncis-native-app .enterprise-login-card .nc-stay-signed-in input:checked:after{
  content:"✓"!important;color:#fff!important;font:800 15px/1 "Afacad Flux",Arial,sans-serif!important
}
html.ncis-native-app .enterprise-login-card .nc-stay-signed-in span{font-size:16px!important}
html.ncis-native-app .enterprise-login-card .primary-button,
html.ncis-native-app .enterprise-login-card .secondary-button{font-size:18px!important;min-height:58px}
html.ncis-native-app .enterprise-login-card .registration-entry>span{font-size:18px!important}
html.ncis-native-app .nc-native-login-meta{display:grid;justify-items:center;gap:4px;margin-top:19px;text-align:center;color:rgba(241,249,245,.66)}
html.ncis-native-app .nc-native-login-meta strong{font:700 15px/1.3 "Afacad Flux",Arial,sans-serif;color:#f6d77f;letter-spacing:.04em}
html.ncis-native-app .nc-native-login-meta strong span{font-weight:550;color:rgba(241,249,245,.72)}
html.ncis-native-app .nc-native-login-meta span{font:500 11px/1.4 "Afacad Flux",Arial,sans-serif}
html.ncis-native-app .nc-native-login-meta small{font:500 10px/1.4 "Afacad Flux",Arial,sans-serif}
html.ncis-native-app .nc-auth-transition{
  background:
    linear-gradient(180deg,rgba(0,13,10,.55),transparent 23%,transparent 72%,rgba(0,15,11,.38)),
    radial-gradient(circle at 14% 28%,rgba(54,211,198,.24),transparent 23rem),
    radial-gradient(circle at 86% 68%,rgba(233,192,80,.16),transparent 25rem),
    linear-gradient(155deg,#011a13 0%,#07533d 52%,#172e2b 100%)
}
html.ncis-native-app .nc-auth-transition__orb{width:96px;height:96px;margin-bottom:20px;border:0;box-shadow:none}
html.ncis-native-app .nc-auth-transition__orb:before{display:none}
html.ncis-native-app .nc-auth-transition__orb img{display:block;position:absolute;inset:0;width:96px;height:96px;object-fit:contain;filter:drop-shadow(0 12px 24px rgba(0,0,0,.24))}
html.ncis-native-app .nc-auth-transition__orb i{display:none}
html.ncis-native-app .nc-auth-transition__kicker{display:none}
html.ncis-native-app .nc-auth-transition h2{margin:14px 0 12px;font-size:clamp(30px,8vw,42px);font-weight:600;color:#fff!important;text-shadow:0 4px 18px rgba(0,0,0,.22)}
html.ncis-native-app .nc-auth-transition__destination{
  display:block;width:min(290px,74vw);height:auto;max-height:96px;object-fit:contain;
  filter:brightness(0) saturate(100%) invert(100%)!important;opacity:1!important
}
html.ncis-native-app .nc-auth-transition p{margin-top:13px}
html.ncis-native-app .nc-auth-transition__track{margin-top:31px}
html.ncis-native-app .nc-auth-transition__progress{display:block;margin-top:12px;font:700 15px/1 "Afacad Flux",Arial,sans-serif;color:#f0cb71;letter-spacing:.08em}
html.ncis-native-app body.nc-auth-transition-active .nc-native-login-brand span,
html.ncis-native-app body.nc-auth-transition-active .enterprise-login-shell,
html.ncis-native-app body.nc-auth-transition-active .nc-native-login-meta{animation:ncNativeLoginExit .5s cubic-bezier(.55,.05,.48,.94) both}
html.ncis-native-app .nc-auth-transition.is-active>*{animation:ncNativeTransitionIn .55s .27s cubic-bezier(.2,.75,.25,1) both}
html.ncis-native-app .nc-auth-transition.is-active .nc-auth-transition__orb{animation:ncNativeLogoHold .55s .12s ease both}
@keyframes ncNativeOrbOrbit{0%{transform:translate3d(-12px,18px,0) rotate(0deg) scale(.96)}50%{transform:translate3d(52px,-38px,0) rotate(180deg) scale(1.08)}100%{transform:translate3d(-12px,18px,0) rotate(360deg) scale(.96)}}
@keyframes ncNativeOrbOrbitReverse{0%{transform:translate3d(10px,22px,0) rotate(360deg) scale(1.04)}50%{transform:translate3d(-48px,-34px,0) rotate(180deg) scale(.94)}100%{transform:translate3d(10px,22px,0) rotate(0deg) scale(1.04)}}
@keyframes ncNativeLoginExit{to{opacity:0;transform:translateY(-50px) rotateX(12deg) scale(.94);filter:blur(8px)}}
@keyframes ncNativeTransitionIn{from{opacity:0;transform:translateY(34px) scale(.97);filter:blur(8px)}to{opacity:1;transform:none;filter:none}}
@keyframes ncNativeLogoHold{from{opacity:.25;transform:scale(.86)}to{opacity:1;transform:scale(1)}}
@media(max-width:390px){
  html.ncis-native-app .enterprise-main{align-content:center!important;padding-block:max(18px,env(safe-area-inset-top))!important;transform:translateY(2vh)}
  html.ncis-native-app .nc-native-login-brand{margin-bottom:13px}
  html.ncis-native-app .nc-native-login-brand img{width:68px;height:68px}
  html.ncis-native-app .nc-native-login-brand span{margin-top:5px}
  html.ncis-native-app .enterprise-login-card.login-card{padding:21px!important}
  html.ncis-native-app .nc-native-login-meta{margin-top:13px}
}
@media(min-width:391px){
  html.ncis-native-app body.nc-foundation-login:before{left:-25vw;top:-13vh}
  html.ncis-native-app body.nc-foundation-login:after{right:-21vw}
}
@media(max-height:720px){
  html.ncis-native-app .enterprise-main{transform:none}
  html.ncis-native-app .nc-native-login-brand img{width:58px;height:58px}
  html.ncis-native-app .nc-native-login-brand{margin-bottom:9px}
  html.ncis-native-app .enterprise-login-card.login-card{padding:18px!important}
  html.ncis-native-app .nc-native-login-meta{margin-top:9px}
}
@media(prefers-reduced-motion:reduce){html.ncis-native-app body.nc-foundation-login:before{animation-duration:26s}html.ncis-native-app body.nc-foundation-login:after{animation-duration:34s}}
