/* NORYX — Página Verificar Autenticidade (escopo .nx-verify). */
.nx-verify .mono{font-variant-numeric:tabular-nums;letter-spacing:.02em;}
.nx-verify * {box-sizing:border-box; margin:0; padding:0;}
.nx-verify .hd-login {font-size:13.5px; color:var(--noryx-navy); font-weight:600; text-decoration:none; border:1px solid var(--noryx-line-2); padding:9px 16px; border-radius:var(--noryx-radius-sm);}
.nx-verify .vhero {background:var(--noryx-navy); color:#fff; position:relative; overflow:hidden;}
.nx-verify .vhero::before {content:''; position:absolute; inset:0; background:radial-gradient(circle at 50% 0%,rgba(46,134,230,.2),transparent 60%); pointer-events:none;}
.nx-verify .vhero .in {max-width:640px; margin:0 auto; padding:60px 24px 52px; position:relative; text-align:center;}
.nx-verify .vhero .eb {font-family:var(--noryx-font); font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:#8FB4DC; margin-bottom:18px;}
.nx-verify .vhero h1 {font-size:clamp(28px,4.5vw,40px); font-weight:700; letter-spacing:-.03em; line-height:1.08; margin-bottom:12px;}
.nx-verify .vhero p {font-size:16px; color:rgba(255,255,255,.65); font-weight:300; max-width:480px; margin:0 auto 30px;}
.nx-verify .vform {background:#fff; border-radius:14px; padding:10px; display:flex; gap:8px; max-width:520px; margin:0 auto; box-shadow:0 20px 50px rgba(0,0,0,.3);}
.nx-verify .vform input {flex:1; border:none; outline:none; padding:15px 16px; font-family:var(--noryx-font); font-size:15px; letter-spacing:.04em; color:var(--noryx-ink); min-width:0; text-transform:uppercase;}
.nx-verify .vform input::placeholder {color:var(--noryx-muted); text-transform:none; letter-spacing:0;}
.nx-verify .vform button {background:var(--noryx-navy); color:#fff; border:none; border-radius:var(--noryx-radius-sm); padding:0 24px; font-family:inherit; font-size:14.5px; font-weight:600; cursor:pointer; white-space:nowrap;}
.nx-verify .vscan {margin-top:16px; display:inline-flex; align-items:center; gap:8px; color:#fff; font-size:13.5px; font-weight:500; text-decoration:none; opacity:.85;}
.nx-verify .vscan svg {width:17px; height:17px;}
.nx-verify .vhint {margin-top:14px; font-size:12px; color:rgba(255,255,255,.45);}
.nx-verify .result-wrap {max-width:640px; margin:0 auto; padding:36px 24px 0;}
.nx-verify .rcard {border:1px solid var(--noryx-line); border-radius:16px; overflow:hidden;}
.nx-verify .rcard .rtop {background:var(--noryx-green-soft); border-bottom:1px solid rgba(21,127,76,.2); padding:26px; text-align:center;}
.nx-verify .rcard .rtop .badge {width:60px; height:60px; border-radius:50%; background:var(--noryx-green); display:flex; align-items:center; justify-content:center; margin:0 auto 14px;}
.nx-verify .rcard .rtop .badge svg {width:30px; height:30px; color:#fff;}
.nx-verify .rcard .rtop h2 {font-size:22px; font-weight:700; letter-spacing:-.02em; color:var(--noryx-green);}
.nx-verify .rcard .rtop p {font-size:13.5px; color:var(--noryx-ink-soft); margin-top:6px;}
.nx-verify .rcard .rbody {padding:24px;}
.nx-verify .rprod {display:flex; gap:16px; align-items:center; padding-bottom:20px; border-bottom:1px solid var(--noryx-line); margin-bottom:18px;}
.nx-verify .rprod .th {width:64px; height:64px; background:var(--noryx-paper-2); border:1px solid var(--noryx-line); border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0;}
.nx-verify .vial {filter:drop-shadow(0 6px 10px rgba(20,26,31,.12));}
.nx-verify .vial .cap {margin:0 auto; background:linear-gradient(90deg,#9AA0A8,#EDEFF2 24%,#B9BEC6 52%,#EDEFF2 78%,#8E949C); border-radius:3px 3px 2px 2px;}
.nx-verify .vial .neck {margin:1px auto 0; background:linear-gradient(90deg,#D7D2C6,#F2EFE7 50%,#D0CBBE);}
.nx-verify .vial .body {border-radius:4px 4px 6px 6px; border:1px solid rgba(255,255,255,.6); position:relative; background:linear-gradient(90deg,rgba(255,255,255,.05),rgba(255,255,255,.55) 14%,rgba(214,224,232,.35) 32%,rgba(255,255,255,.12) 54%,rgba(180,195,208,.32) 76%,rgba(120,135,150,.25)), linear-gradient(180deg,#F3F5F7,#E1E7EE);}
.nx-verify .vial .powder {position:absolute; left:4px; right:4px; bottom:4px; height:30%; background:linear-gradient(180deg,#fff,#F1F0EC); border-radius:0 0 6px 6px;}
.nx-verify .rprod .th .vial {width:34px;}
.nx-verify .rprod .th .vial .cap {height:11px;width:22px;}
.nx-verify .rprod .th .vial .neck {height:5px;width:17px;}
.nx-verify .rprod .th .vial .body {height:56px;}
.nx-verify .rprod .pn {font-size:19px; font-weight:700; letter-spacing:-.015em;}
.nx-verify .rprod .pm {font-size:13px; color:var(--noryx-muted); margin-top:2px;}
.nx-verify .rprod .pc {font-size:11px; letter-spacing:.14em; text-transform:uppercase; color:var(--noryx-blue); font-weight:600; margin-bottom:5px;}
.nx-verify .rdata {display:grid; grid-template-columns:1fr 1fr; gap:14px;}
@media(max-width:480px) {
.nx-verify .rdata {grid-template-columns:1fr;}
}
.nx-verify .rdata .d .k {font-family:var(--noryx-font); font-size:9.5px; letter-spacing:.08em; text-transform:uppercase; color:var(--noryx-muted);}
.nx-verify .rdata .d .v {font-size:14.5px; font-weight:600; margin-top:2px;}
.nx-verify .rdata .d .v.mono {font-family:var(--noryx-font); font-size:13.5px;}
.nx-verify .first-scan {display:flex; align-items:center; gap:10px; margin-top:20px; padding:13px 16px; background:var(--noryx-green-soft); border-radius:var(--noryx-radius-sm); font-size:13px; color:var(--noryx-ink-soft);}
.nx-verify .first-scan svg {width:18px; height:18px; color:var(--noryx-green); flex-shrink:0;}
.nx-verify .first-scan b {color:var(--noryx-green);}
.nx-verify .rsecondary {margin-top:18px; display:flex; gap:10px; flex-wrap:wrap;}
.nx-verify .rsecondary a {font-size:12.5px; color:var(--noryx-blue); text-decoration:none; font-weight:600; display:inline-flex; align-items:center; gap:6px;}
.nx-verify .rsecondary a svg {width:14px; height:14px;}
.nx-verify .rsecondary a.muted {color:var(--noryx-muted);}
.nx-verify .how {max-width:1080px; margin:0 auto; padding:64px 24px;}
.nx-verify .how .sh {text-align:center; margin-bottom:40px;}
.nx-verify .how .sh .eb {font-family:var(--noryx-font); font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--noryx-blue); margin-bottom:12px;}
.nx-verify .how .sh h2 {font-size:clamp(24px,3.6vw,32px); font-weight:700; letter-spacing:-.025em;}
.nx-verify .how .sh p {font-size:14.5px; color:var(--noryx-ink-soft); max-width:480px; margin:12px auto 0;}
.nx-verify .hsteps {display:grid; grid-template-columns:repeat(3,1fr); gap:18px;}
@media(max-width:760px) {
.nx-verify .hsteps {grid-template-columns:1fr;}
}
.nx-verify .hstep {border:1px solid var(--noryx-line); border-radius:14px; padding:26px; text-align:center;}
.nx-verify .hstep .hi {width:52px; height:52px; border-radius:14px; background:var(--noryx-paper-2); border:1px solid var(--noryx-line); color:var(--noryx-blue); display:flex; align-items:center; justify-content:center; margin:0 auto 18px;}
.nx-verify .hstep .hi svg {width:25px; height:25px;}
.nx-verify .hstep h3 {font-size:17px; font-weight:600; letter-spacing:-.01em; margin-bottom:8px;}
.nx-verify .hstep p {font-size:13.5px; color:var(--noryx-ink-soft); line-height:1.6;}
.nx-verify .anti {background:var(--noryx-paper-2); border-top:1px solid var(--noryx-line); border-bottom:1px solid var(--noryx-line);}
.nx-verify .anti .in {max-width:1080px; margin:0 auto; padding:48px 24px; display:grid; grid-template-columns:auto minmax(0,1fr); gap:32px; align-items:center;}
.nx-verify .anti .in > * {min-width:0;}
@media(max-width:640px) {
.nx-verify .anti .in {grid-template-columns:1fr; text-align:center;}
}
.nx-verify .anti .qr {width:120px; height:120px; border-radius:16px; background:#fff; border:1px solid var(--noryx-line); padding:14px; margin:0 auto;}
.nx-verify .anti .qr .grid {width:100%; height:100%; border-radius:6px; background:repeating-conic-gradient(var(--noryx-ink) 0% 25%, #fff 0% 50%) 50% / 18px 18px;}
.nx-verify .anti h3 {font-size:22px; font-weight:700; letter-spacing:-.02em; margin-bottom:10px;}
.nx-verify .anti p {font-size:14.5px; color:var(--noryx-ink-soft); line-height:1.6; max-width:560px;}
@media(max-width:640px) {
.nx-verify .anti p {margin:0 auto;}
}

/* Estados adicionais (falha / código repetido) */
.nx-verify .rcard.fail { border-color: #E7C3C0; }
.nx-verify .rtop.fail { background: #FBEDEB; }
.nx-verify .rcard .rtop .badge.fail { background: #B3261E !important; }
.nx-verify .rtop.fail h2 { color: #8A211B; }
.nx-verify .first-scan.repeat { background: rgba(201,161,90,.12); border-color: rgba(201,161,90,.5); }
.nx-verify .first-scan.repeat b { color: #8A6D2F; }
