/* ZP Nexus FX v1 — camada visual inspirada no site Sistemas Inovadores */
:root{--nx-c1:#4ee8d1;--nx-c2:#2a78ff;--nx-c3:#9b7bff;--nx-glass:rgba(10,24,42,.72)}
html,body{overflow-x:hidden}
#nx-net{position:fixed;inset:0;width:100vw;height:100vh;z-index:0;pointer-events:none;opacity:.75}
body:after{content:"";position:fixed;inset:-20%;z-index:0;pointer-events:none;background:radial-gradient(40% 35% at 20% 25%,rgba(78,232,209,.09),transparent 70%),radial-gradient(35% 30% at 80% 70%,rgba(155,123,255,.10),transparent 70%),radial-gradient(30% 30% at 60% 15%,rgba(42,120,255,.08),transparent 70%);animation:nxAurora 26s ease-in-out infinite alternate}
@keyframes nxAurora{0%{transform:translate3d(0,0,0) rotate(0)}50%{transform:translate3d(3%,-2%,0) rotate(4deg)}100%{transform:translate3d(-3%,2%,0) rotate(-3deg)}}
.shell,.public-wrap{position:relative;z-index:1}
/* ---------- Botões IA ---------- */
.b,.b2,.danger,button:not([class]){position:relative;isolation:isolate;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:10px 16px;border-radius:12px;font-weight:720;letter-spacing:.01em;line-height:1.15;text-decoration:none!important;cursor:pointer;overflow:hidden;white-space:nowrap;vertical-align:middle;transition:transform .18s ease,box-shadow .25s ease,filter .2s ease,background-position .6s ease}
.b,button:not([class]){color:#fff!important;border:0;background:linear-gradient(120deg,var(--nx-c2),#5865f2 45%,var(--nx-c3) 75%,var(--nx-c1));background-size:220% 100%;background-position:0% 50%;box-shadow:0 0 0 1px rgba(155,200,255,.18) inset,0 8px 26px rgba(42,120,255,.28),0 0 18px rgba(78,232,209,.12)}
.b:hover,button:not([class]):hover{background-position:100% 50%;transform:translateY(-1px);box-shadow:0 0 0 1px rgba(200,230,255,.3) inset,0 12px 32px rgba(88,101,242,.38),0 0 26px rgba(78,232,209,.25)}
.b2,.b.b2{color:#dff4ff!important;border:1px solid transparent!important;background:linear-gradient(var(--nx-glass),var(--nx-glass)) padding-box,linear-gradient(120deg,rgba(78,232,209,.55),rgba(42,120,255,.45),rgba(155,123,255,.55)) border-box!important;box-shadow:0 6px 20px rgba(0,0,0,.25),0 0 0 rgba(78,232,209,0);backdrop-filter:blur(8px)}
.b2:hover,.b.b2:hover{color:#fff!important;transform:translateY(-1px);background:linear-gradient(rgba(14,34,58,.85),rgba(14,34,58,.85)) padding-box,linear-gradient(120deg,var(--nx-c1),var(--nx-c2),var(--nx-c3)) border-box!important;box-shadow:0 10px 26px rgba(0,0,0,.3),0 0 22px rgba(78,232,209,.22)}
.danger{color:#ffe4e6!important;border:1px solid transparent!important;background:linear-gradient(rgba(40,10,20,.8),rgba(40,10,20,.8)) padding-box,linear-gradient(120deg,#fb7185,#f43f5e,#a855f7) border-box!important;box-shadow:0 6px 20px rgba(244,63,94,.15)}
.danger:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(244,63,94,.3),0 0 20px rgba(244,63,94,.25)}
.b:before,.b2:before,.danger:before,button:not([class]):before{content:"";position:absolute;z-index:-1;top:0;bottom:0;left:-60%;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-20deg);transition:left .7s ease;pointer-events:none}
.b:hover:before,.b2:hover:before,.danger:hover:before,button:not([class]):hover:before{left:120%}
.b:active,.b2:active,.danger:active,button:not([class]):active{transform:translateY(0) scale(.97)}
.b:focus-visible,.b2:focus-visible,.danger:focus-visible{outline:2px solid var(--nx-c1);outline-offset:2px}
.b[disabled],.b2[disabled],button[disabled]{opacity:.5;cursor:not-allowed;transform:none!important;filter:grayscale(.4)}
.nx-ripple{position:absolute;z-index:-1;border-radius:50%;pointer-events:none;background:radial-gradient(circle,rgba(255,255,255,.45),rgba(78,232,209,.15) 40%,transparent 70%);transform:scale(0);animation:nxRipple .6s ease-out forwards}
@keyframes nxRipple{to{transform:scale(3.2);opacity:0}}
/* ---------- Cards: brilho que segue o cursor + revelação ---------- */
.c.nx-spot:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:0;transition:opacity .3s;background:radial-gradient(420px circle at var(--mx,50%) var(--my,50%),rgba(78,232,209,.09),rgba(155,123,255,.05) 40%,transparent 65%)}
.c.nx-spot:hover:after{opacity:1}
.nx-r{opacity:0;transform:translate3d(0,14px,0) scale(.99);transition:opacity .55s ease var(--d,0ms),transform .55s cubic-bezier(.2,.7,.2,1) var(--d,0ms)}
.nx-r.is-in{opacity:1;transform:none}
.nav-link{transition:background .2s,color .2s,box-shadow .25s,transform .15s}
.nav-link:hover{transform:translateX(2px)}
.nx-tscroll{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;border-radius:12px}
.nx-tscroll::-webkit-scrollbar{height:6px}.nx-tscroll::-webkit-scrollbar-thumb{background:linear-gradient(90deg,var(--nx-c1),var(--nx-c3));border-radius:9px}
/* ---------- Mobile ---------- */
@media(max-width:860px){
 .mobilebar{box-shadow:0 1px 0 rgba(78,232,209,.18),0 8px 30px rgba(0,0,0,.35)}
 .mobilebar:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:1px;background:linear-gradient(90deg,transparent,var(--nx-c1),var(--nx-c3),transparent);background-size:200% 100%;animation:nxLine 4s linear infinite}
 @keyframes nxLine{to{background-position:200% 0}}
 .mobile-menu{min-width:44px;min-height:44px;border-radius:12px!important;border:1px solid transparent!important;background:linear-gradient(#0d2035,#0d2035) padding-box,linear-gradient(120deg,var(--nx-c1),var(--nx-c3)) border-box!important}
 .sidebar{width:min(86vw,320px)!important;box-shadow:20px 0 60px rgba(0,0,0,.55);overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(12px,env(safe-area-inset-bottom))}
 .scrim.open{backdrop-filter:blur(4px);background:rgba(2,6,12,.55)}
 body.nx-lock{overflow:hidden;touch-action:none}
 .nav-link{min-height:44px}
 .content{padding-left:14px!important;padding-right:14px!important}
 input,select,textarea{font-size:16px!important}
 .b,.b2,.danger{min-height:44px;white-space:normal;text-align:center}
 .pagehead .b,.pagehead .b2,.c form>.b,.c form>button:not([class]){width:100%}
 .section-tabs,.context-tabs{scrollbar-width:none;-webkit-mask-image:linear-gradient(90deg,#000 88%,transparent)}
 .c{padding:15px}
 #nx-net{opacity:.45}
}
@media(prefers-reduced-motion:reduce){body:after,.mobilebar:after{animation:none}.nx-r{opacity:1;transform:none}#nx-net{display:none}}
/* ---------- UX v1: abas por assunto e dicas ---------- */
.nx-ptabs{display:flex;gap:6px;padding:5px;margin:4px 0 16px;border-radius:14px;background:rgba(10,24,42,.6);border:1px solid rgba(95,154,214,.18);overflow-x:auto;scrollbar-width:none;position:sticky;top:78px;z-index:20;backdrop-filter:blur(10px)}
.nx-ptabs::-webkit-scrollbar{display:none}
.nx-ptab{all:unset;box-sizing:border-box;flex:1 0 auto;text-align:center;padding:11px 16px;border-radius:10px;color:#a9c4e2;font-weight:700;font-size:14px;white-space:nowrap;cursor:pointer;transition:background .2s,color .2s}
.nx-ptab:hover{color:#fff;background:rgba(42,120,255,.12)}
.nx-ptab.is-active{color:#fff;background:linear-gradient(120deg,rgba(42,120,255,.35),rgba(155,123,255,.3));box-shadow:0 0 0 1px rgba(155,200,255,.25) inset,0 6px 20px rgba(42,120,255,.2)}
.nx-ptab[disabled]{opacity:.4;cursor:default}
.nx-tab-hide{display:none!important}
.nx-i{margin-left:6px;font-size:11px;opacity:.55;cursor:help}
@media(max-width:860px){.nx-ptabs{top:64px}.nx-ptab{flex:0 0 auto;font-size:13px;padding:10px 12px}}
.nx-sdots{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 14px}.nx-sdots span{padding:6px 12px;border-radius:999px;font-size:12px;font-weight:700;background:#0a1a2e;border:1px solid #23415f;color:#7f9bbb}.nx-sdots span.is-now{color:#fff;border-color:transparent;background:linear-gradient(120deg,#2a78ff,#9b7bff)}.nx-sdots span.is-done{color:#4ee8d1;border-color:rgba(78,232,209,.4)}
.nx-stitle{font-size:17px;font-weight:800;margin:0 0 4px}.nx-shint{font-size:13px;margin:0 0 10px}.nx-snav{display:flex;justify-content:space-between;gap:10px;margin-top:14px}
.nx-srev{display:grid;gap:8px;margin:8px 0 14px}.nx-srev div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:10px;background:#0a1a2e;border:1px solid #1d3753}.nx-srev span{color:#8fa9c6}
.nx-cta{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;padding:16px 18px;margin:0 0 14px;border-radius:16px;border:1px solid transparent;background:linear-gradient(rgba(13,30,52,.9),rgba(13,30,52,.9)) padding-box,linear-gradient(120deg,rgba(78,232,209,.6),rgba(42,120,255,.5),rgba(155,123,255,.6)) border-box}
/* 28/09: faixa MODO TESTE / MODO REAL */
.nx-mode{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:12px 18px;margin:0 0 16px;border-radius:14px;font-size:14px;line-height:1.4;position:relative;overflow:hidden}
.nx-mode strong{font-size:15px;letter-spacing:.06em;white-space:nowrap}
.nx-mode-test{color:#fff7e0;border:1px solid rgba(251,191,36,.6);background:repeating-linear-gradient(135deg,rgba(251,191,36,.22) 0 14px,rgba(251,191,36,.10) 14px 28px);background-size:40px 40px;animation:nxStripes 1.6s linear infinite;box-shadow:0 0 24px rgba(251,191,36,.18)}
.nx-mode-test strong{color:#fbbf24}
.nx-mode-real{color:#fff;border:1px solid rgba(248,113,113,.8);background:linear-gradient(120deg,rgba(220,38,38,.45),rgba(190,24,93,.35));animation:nxRealPulse 1.8s ease-in-out infinite}
.nx-mode-real strong{color:#fecaca}
.nx-mode-real-cust{color:#dcfce7;border:1px solid rgba(74,222,128,.5);background:rgba(22,163,74,.14)}
@keyframes nxStripes{to{background-position:40px 0}}@keyframes nxRealPulse{50%{box-shadow:0 0 0 4px rgba(248,113,113,.25),0 0 30px rgba(248,113,113,.35)}}
@media(prefers-reduced-motion:reduce){.nx-mode-test,.nx-mode-real{animation:none}}
