/* NMEA Pro — componentes próprios. Só tokens de profarm-tokens.css. */
.nm-mono, .nm-out, .nm-term { font-family: var(--pf-font-mono); }
textarea.nm-mono { font-size: .85rem; line-height: 1.5; }

/* Anatomia da sentença */
.nm-anat { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 0; margin: .6rem 0; padding: .75rem; border-radius: var(--pf-radius); background: var(--pf-diagram-paper); border: 1px solid var(--pf-border); font-family: var(--pf-font-mono); font-size: .86rem; }
.nm-chip { min-height: 34px; padding: 4px 7px; border: 1px solid transparent; border-radius: 6px; font: inherit; color: var(--pf-diagram-ink); cursor: pointer; }
.nm-chip i { font-style: italic; opacity: .6; }
.nm-c0 { background: var(--pf-diagram-applied); } .nm-c1 { background: var(--pf-diagram-spray-tint); } .nm-c2 { background: var(--pf-diagram-gap-tint); }
.nm-c3 { background: var(--pf-diagram-overlap-tint); } .nm-c4 { background: var(--pf-diagram-tint); } .nm-c5 { background: var(--pf-diagram-glass); }
.nm-cs { background: var(--pf-diagram-ink); color: var(--pf-diagram-paper); }
.nm-chip.nm-on, .nm-chip:focus-visible { border-color: var(--pf-diagram-command); outline: 2px solid var(--pf-diagram-command); outline-offset: 1px; }
.nm-virg { color: var(--pf-diagram-ink-2); padding: 0 1px; }
.nm-anat-info { padding: .7rem .9rem; border-left: 4px solid var(--pf-primary); border-radius: 0 var(--pf-radius-sm) var(--pf-radius-sm) 0; background: var(--pf-primary-tint); color: var(--pf-text); font-size: var(--pf-text-sm); line-height: var(--pf-leading); }
.nm-anat-info code { font-family: var(--pf-font-mono); }

/* Fichas de sentença */
.nm-sent-nome { font-weight: 800; color: var(--pf-text); }
.nm-pri { display: inline-block; margin-right: 6px; padding: 2px 8px; border-radius: var(--pf-radius-pill); font-size: .72rem; font-weight: 800; vertical-align: 1px; }
.nm-p-alta { background: var(--pf-primary-surface); color: var(--pf-on-primary); }
.nm-p-media { background: var(--pf-info-tint); color: var(--pf-info); border: 1px solid var(--pf-info); }
.nm-p-baixa { background: var(--pf-surface-3); color: var(--pf-text-2); }
.nm-mini { margin: .45rem 0; padding: .55rem .75rem; border-radius: var(--pf-radius-sm); background: var(--pf-surface-2); font-size: var(--pf-text-sm); line-height: var(--pf-leading); color: var(--pf-text); }
.nm-mini-av { background: var(--pf-warning-tint); }
.nm-exp { display: block; margin-top: 2px; color: var(--pf-text-2); font-size: .78rem; }
.nm-btn2 { margin-top: .75rem; }

/* Saídas de texto */
.nm-out { display: block; margin: .5rem 0; padding: .6rem .75rem; border-radius: var(--pf-radius-sm); background: var(--pf-diagram-screen); color: var(--pf-diagram-glow); font-size: .8rem; overflow-wrap: anywhere; }
.nm-term { margin: .6rem 0; padding: .75rem .85rem; border-radius: var(--pf-radius); background: var(--pf-diagram-screen); color: var(--pf-diagram-glow); font-size: .76rem; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.nm-term-sim { min-height: 15.5em; max-height: 15.5em; overflow: hidden; }
.nm-scroll { max-height: 340px; overflow: auto; }

/* Decodificador */
.nm-dec { margin: .5rem 0; border: 1px solid var(--pf-border); border-radius: var(--pf-radius); background: var(--pf-surface); }
.nm-dec > summary { display: flex; gap: .5rem; align-items: center; min-height: var(--pf-touch); padding: .4rem .8rem; cursor: pointer; font-size: var(--pf-text-sm); color: var(--pf-text); }
.nm-dec > summary span { font-weight: 800; }
.nm-ok > summary span { color: var(--pf-success); } .nm-err > summary span { color: var(--pf-danger); }
.nm-dec[open] > :not(summary) { margin-left: .8rem; margin-right: .8rem; }
.nm-dec[open] { padding-bottom: .6rem; }

.nm-checks { display: flex; flex-wrap: wrap; gap: .4rem 1rem; }
.nm-checks label { display: inline-flex; align-items: center; gap: .4rem; min-height: 40px; font-size: var(--pf-text-sm); color: var(--pf-text); }
.nm-checks input { width: 20px; height: 20px; }

/* Barra de ocupação */
.nm-barra { position: relative; height: 18px; margin: .6rem 0 .2rem; border-radius: var(--pf-radius-pill); background: var(--pf-surface-3); overflow: hidden; }
.nm-barra span { display: block; height: 100%; border-radius: var(--pf-radius-pill); transition: width .2s; }
.nm-barra i { position: absolute; top: -2px; bottom: -2px; width: 2px; background: var(--pf-text); }
.nm-b-ok { background: var(--pf-success); } .nm-b-alta { background: var(--pf-warning); } .nm-b-crit { background: var(--pf-danger); }
.nm-tab-ent select, .nm-tab-ent input { width: 100%; min-width: 64px; min-height: 40px; padding: 4px 6px; border: 1px solid var(--pf-border-strong); border-radius: 6px; background: var(--pf-surface); color: var(--pf-text); font: inherit; }
.nm-tab-ent td { vertical-align: middle; }

/* Simulador */
.nm-sim-met { display: grid; grid-template-columns: repeat(3, 1fr); gap: .5rem; margin: .8rem 0 0; }
.nm-sim-met div { padding: .6rem; border-radius: var(--pf-radius-sm); background: var(--pf-surface-2); text-align: center; }
.nm-sim-met b { display: block; font-size: 1.15rem; color: var(--pf-text); font-variant-numeric: tabular-nums; }
.nm-sim-met span { font-size: .72rem; color: var(--pf-text-2); }

/* Seletor segmentado */
.nm-seg { display: inline-flex; gap: 0; margin: .3rem 0 .6rem; border: 1px solid var(--pf-border-strong); border-radius: 10px; overflow: hidden; }
.nm-seg button { min-height: 42px; padding: 8px 14px; border: 0; background: var(--pf-surface); color: var(--pf-text); font: inherit; font-weight: 700; cursor: pointer; }
.nm-seg button[aria-pressed="true"] { background: var(--pf-primary-surface); color: var(--pf-on-primary); }

/* Diagnóstico */
.nm-diag { margin: .6rem 0; padding-left: 1.4rem; }
.nm-diag > li { margin: .45rem 0; }
.nm-diag > li::marker { font-weight: 800; color: var(--pf-primary); }
.nm-diag details { border: 1px solid var(--pf-border); border-radius: var(--pf-radius-sm); background: var(--pf-surface); }
.nm-diag summary { min-height: var(--pf-touch); display: flex; align-items: center; padding: .4rem .7rem; cursor: pointer; color: var(--pf-text); }
.nm-diag details p { margin: .3rem .8rem .6rem; font-size: var(--pf-text-sm); line-height: var(--pf-leading); color: var(--pf-text); }
.nm-acao { padding: .5rem .7rem; border-radius: var(--pf-radius-sm); background: var(--pf-success-tint); }

/* Receptores e glossário */
.nm-rec { margin: 0 0 1.1rem; padding-bottom: .8rem; border-bottom: 1px solid var(--pf-border); }
.nm-rec h4 { margin: 0; font-size: 1rem; color: var(--pf-text); }
.nm-glos { margin: .6rem 0 0; }
.nm-glos dt { margin-top: .8rem; font-weight: 800; color: var(--pf-text); }
.nm-glos dd { margin: .2rem 0 0; font-size: var(--pf-text-sm); line-height: var(--pf-leading); color: var(--pf-text-2); }

/* Quiz */
.nm-quiz-n { font-size: .78rem; color: var(--pf-text-2); }
.nm-quiz-p { font-size: 1.05rem; font-weight: 800; color: var(--pf-text); line-height: 1.45; }
.nm-quiz-ops { display: grid; gap: .5rem; }
.nm-op { min-height: 48px; padding: 10px 14px; border: 1px solid var(--pf-border-strong); border-radius: 10px; background: var(--pf-surface); color: var(--pf-text); font: inherit; text-align: left; cursor: pointer; }
.nm-op:disabled { cursor: default; opacity: .75; }
.nm-certa { border-color: var(--pf-success); background: var(--pf-success-tint); opacity: 1 !important; font-weight: 800; }
.nm-errada { border-color: var(--pf-danger); background: var(--pf-danger-tint); opacity: 1 !important; }
.nm-quiz-exp p { margin: .8rem 0; line-height: var(--pf-leading); color: var(--pf-text); }
.nm-quiz-fim { text-align: center; padding: 1rem 0; }
.nm-quiz-fim b { display: block; font-size: 2rem; color: var(--pf-primary); }

/* Página inicial: marca em texto */
.nm-marca { display: inline-flex; align-items: center; gap: 10px; color: var(--pf-text); text-decoration: none; font-weight: 800; font-size: 1.15rem; letter-spacing: -.01em; }
.nm-marca img { width: 38px; height: 38px; border-radius: 10px; }
.nm-marca small { display: block; font-size: .68rem; font-weight: 600; color: var(--pf-text-2); letter-spacing: .02em; }
@media (max-width: 420px) { .nm-marca small { display: none; } }

/* ══ Paleta por assunto ══════════════════════════════════════════════════ */
.nm-k-teal { --k: var(--nm-teal); --kt: var(--nm-teal-tint); --kg: var(--nm-teal-grad); }
.nm-k-indigo { --k: var(--nm-indigo); --kt: var(--nm-indigo-tint); --kg: var(--nm-indigo-grad); }
.nm-k-blue { --k: var(--nm-blue); --kt: var(--nm-blue-tint); --kg: var(--nm-blue-grad); }
.nm-k-green { --k: var(--nm-green); --kt: var(--nm-green-tint); --kg: var(--nm-green-grad); }
.nm-k-orange { --k: var(--nm-orange); --kt: var(--nm-orange-tint); --kg: var(--nm-orange-grad); }
.nm-k-red { --k: var(--nm-red); --kt: var(--nm-red-tint); --kg: var(--nm-red-grad); }
.nm-k-purple { --k: var(--nm-purple); --kt: var(--nm-purple-tint); --kg: var(--nm-purple-grad); }

.nm-lead { margin: 0 0 1rem; font-size: 1rem; line-height: 1.6; color: var(--pf-text); }
.nm-sub-t { margin: 1.1rem 0 .5rem; font-size: .8rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--pf-text-2); }
.nm-sent-oque { font-size: 1rem; line-height: 1.55; color: var(--pf-text); }

/* Cartões coloridos de texto */
.nm-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: .6rem; margin: .8rem 0; }
.nm-card { display: flex; gap: .7rem; align-items: flex-start; padding: .8rem .9rem; border-radius: 14px; background: var(--kt); border: 1px solid color-mix(in srgb, var(--k) 25%, transparent); }
.nm-card-ic { flex: 0 0 auto; display: grid; place-items: center; width: 38px; height: 38px; border-radius: 11px; background: var(--kg); font-size: 1.15rem; box-shadow: 0 3px 8px color-mix(in srgb, var(--k) 30%, transparent); }
.nm-card b { display: block; color: var(--k); font-size: .95rem; }
.nm-card p { margin: .2rem 0 0; font-size: .86rem; line-height: 1.5; color: var(--pf-text); }
.nm-cards-mini .nm-card { padding: .65rem .8rem; }

/* Resposta de campo (resultado em destaque) */
.nm-resp { margin: .7rem 0; padding: .85rem 1rem; border-radius: 14px; background: var(--kt); border-left: 5px solid var(--k); }
.nm-resp > b { display: block; font-size: 1.02rem; color: var(--k); }
.nm-resp p { margin: .3rem 0 0; font-size: .9rem; line-height: 1.5; color: var(--pf-text); }
.nm-resp .nm-resp-a { margin-top: .55rem; padding: .5rem .65rem; border-radius: 9px; background: var(--pf-surface); font-weight: 600; }
.nm-resp-big { padding: 1.1rem 1.1rem; }
.nm-resp-big > b { font-size: 1.25rem; }

/* Botões e links de ação */
.nm-go { display: inline-flex; align-items: center; gap: .4rem; min-height: 44px; padding: 0 1rem; border-radius: 12px; background: var(--pf-primary-tint); color: var(--pf-primary); font-weight: 800; font-size: .88rem; text-decoration: none; }
.nm-go-forte { background: var(--kg, var(--pf-gradient-primary)); color: var(--nm-on-grad); }
.nm-sec { min-height: 44px; padding: 0 .9rem; border: 1px solid var(--pf-border-strong); border-radius: 12px; background: var(--pf-surface); color: var(--pf-text); font: inherit; font-weight: 700; font-size: .85rem; cursor: pointer; }
.nm-sec:disabled { opacity: .4; cursor: default; }
.nm-bt { flex: 1 1 140px; min-height: 54px; padding: .5rem 1rem; border: 0; border-radius: 14px; font: inherit; font-weight: 800; font-size: 1rem; cursor: pointer; color: var(--nm-on-grad); }
.nm-bt-ok { background: var(--nm-green-grad); }
.nm-bt-nao { background: var(--nm-red-grad); }

/* ── Caminho do sinal ── */
.nm-fluxo { position: relative; display: grid; grid-template-columns: repeat(6, 1fr); gap: .4rem; margin: .4rem 0 .8rem; padding-top: 6px; }
.nm-fluxo::before { content: ""; position: absolute; left: 8%; right: 8%; top: 27px; height: 4px; border-radius: 4px; background: repeating-linear-gradient(90deg, var(--pf-border-strong) 0 10px, transparent 10px 16px); }
.nm-no { position: relative; display: flex; flex-direction: column; align-items: center; gap: 3px; padding: 0; border: 0; background: none; font: inherit; color: var(--pf-text); cursor: pointer; }
.nm-no-ic { display: grid; place-items: center; width: 54px; height: 54px; border-radius: 50%; background: var(--pf-surface); border: 3px solid var(--k); font-size: 1.45rem; transition: transform .2s; }
.nm-no-n { position: absolute; top: -4px; right: calc(50% - 32px); display: grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; background: var(--k); color: var(--pf-surface); font-size: .7rem; font-weight: 800; }
.nm-no-t { margin-top: 4px; font-size: .72rem; font-weight: 700; line-height: 1.2; text-align: center; }
.nm-no.nm-on .nm-no-ic { background: var(--kg); box-shadow: 0 0 0 4px var(--kt); }
.nm-no.nm-on .nm-no-t { color: var(--k); }
.nm-no.nm-feito .nm-no-ic { background: var(--kt); }
.nm-painel { border-radius: 16px; overflow: hidden; background: var(--pf-surface); border: 1px solid var(--pf-border); }
.nm-painel-top { display: flex; align-items: center; gap: .7rem; padding: .8rem 1rem; background: var(--kg); color: var(--nm-on-grad); }
.nm-painel-top > span { font-size: 1.8rem; }
.nm-painel-top small { display: block; font-size: .72rem; opacity: .85; }
.nm-painel-top b { font-size: 1.1rem; }
.nm-painel-faz { margin: .8rem 1rem; line-height: 1.55; color: var(--pf-text); }
.nm-falhas, .nm-confira { margin: .6rem 1rem; padding: .7rem .85rem; border-radius: 12px; }
.nm-falhas { background: var(--nm-red-tint); }
.nm-falhas b { color: var(--nm-red); }
.nm-falhas ul { margin: .35rem 0 0; padding-left: 1.2rem; }
.nm-falhas li { margin: .25rem 0; font-size: .88rem; line-height: 1.45; color: var(--pf-text); }
.nm-confira { background: var(--nm-green-tint); }
.nm-confira b { color: var(--nm-green); }
.nm-confira p { margin: .3rem 0 0; font-size: .9rem; font-weight: 600; color: var(--pf-text); }
.nm-painel-nav { display: flex; flex-wrap: wrap; gap: .5rem; justify-content: space-between; align-items: center; padding: .6rem 1rem 1rem; }
@media (max-width: 520px) {
  .nm-fluxo { grid-template-columns: repeat(3, 1fr); row-gap: .9rem; }
  .nm-fluxo::before { display: none; }
  .nm-painel-nav .nm-go { order: -1; flex: 1 1 100%; justify-content: center; }
  .nm-painel-nav .nm-sec { flex: 1; }
}
@media (prefers-reduced-motion: no-preference) {
  .nm-no.nm-on .nm-no-ic { animation: nm-pulso 2s ease-in-out infinite; }
  @keyframes nm-pulso { 50% { box-shadow: 0 0 0 7px var(--kt); } }
}

/* ── Cola de bolso ── */
.nm-cola { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .55rem; }
.nm-cola-i { display: flex; flex-direction: column; align-items: flex-start; gap: 2px; min-height: 96px; padding: .75rem .8rem; border: 1px solid color-mix(in srgb, var(--k) 25%, transparent); border-radius: 14px; background: var(--kt); color: var(--pf-text); font: inherit; text-align: left; cursor: pointer; }
.nm-cola-i b { font-size: 1.45rem; line-height: 1.1; color: var(--k); font-variant-numeric: tabular-nums; }
.nm-cola-i span { font-size: .8rem; font-weight: 700; }
.nm-cola-i small { display: none; margin-top: .35rem; font-size: .8rem; line-height: 1.4; color: var(--pf-text); }
.nm-cola-i[aria-expanded="true"] { grid-column: 1 / -1; min-height: 0; background: var(--pf-surface); border: 2px solid var(--k); }
.nm-cola-i[aria-expanded="true"] small { display: block; }

/* ── Problemas comuns (acordeão) ── */
.nm-probs { display: grid; gap: .5rem; }
.nm-prob { border-radius: 14px; background: var(--pf-surface); border: 1px solid var(--pf-border); border-left: 5px solid var(--k); overflow: hidden; }
.nm-prob > summary { display: flex; align-items: center; gap: .7rem; min-height: 58px; padding: .5rem .9rem; cursor: pointer; list-style: none; }
.nm-prob > summary::-webkit-details-marker { display: none; }
.nm-prob-ic { display: grid; place-items: center; flex: 0 0 38px; height: 38px; border-radius: 11px; background: var(--kt); font-size: 1.15rem; }
.nm-prob-t { flex: 1; font-weight: 800; font-size: .93rem; line-height: 1.3; color: var(--pf-text); }
.nm-prob-mais { flex: 0 0 26px; height: 26px; border-radius: 50%; background: var(--kt); position: relative; }
.nm-prob-mais::before, .nm-prob-mais::after { content: ""; position: absolute; left: 7px; right: 7px; top: 12px; height: 2px; background: var(--k); transition: transform .2s; }
.nm-prob-mais::after { transform: rotate(90deg); }
.nm-prob[open] .nm-prob-mais::after { transform: rotate(0); }
.nm-prob[open] > summary { background: var(--kt); }
.nm-prob-c { padding: .4rem 1rem 1rem; }
.nm-prob-rap { margin: .5rem 0 .8rem; padding: .7rem .8rem; border-radius: 10px; background: var(--kt); font-size: .9rem; line-height: 1.5; color: var(--pf-text); }
.nm-prob-sub { display: block; font-size: .75rem; letter-spacing: .04em; text-transform: uppercase; color: var(--pf-text-2); }
.nm-prob-c ol { margin: .4rem 0 .9rem; padding-left: 1.3rem; }
.nm-prob-c li { margin: .45rem 0; font-size: .88rem; line-height: 1.45; color: var(--pf-text); }
.nm-prob-c li b { display: block; }
.nm-prob-c li span { color: var(--pf-text-2); }
.nm-prob-c li::marker { color: var(--k); font-weight: 800; }

/* ── Qualidade GGA ── */
.nm-q-dica { margin: 0 0 .5rem; font-size: .88rem; color: var(--pf-text-2); }
.nm-q-nums { display: grid; grid-template-columns: repeat(9, 1fr); gap: .3rem; }
.nm-q-n { min-height: 46px; border: 2px solid var(--k); border-radius: 11px; background: var(--kt); color: var(--k); font: inherit; font-size: 1.15rem; font-weight: 800; cursor: pointer; }
.nm-q-n[aria-pressed="true"] { background: var(--kg); color: var(--nm-on-grad); transform: translateY(-2px); }
.nm-q-card { margin-top: .6rem; padding: .9rem 1rem; border-radius: 14px; background: var(--kt); border-left: 5px solid var(--k); }
.nm-q-card > b { font-size: 1.05rem; color: var(--k); }
.nm-q-card p { margin: .3rem 0 .6rem; font-size: .9rem; line-height: 1.5; color: var(--pf-text); }
.nm-q-ops { display: flex; flex-wrap: wrap; gap: .35rem; }
.nm-q-ops span { padding: .3rem .6rem; border-radius: 999px; font-size: .78rem; font-weight: 700; background: var(--pf-surface); color: var(--pf-text); }
.nm-q-ops .nm-nao { opacity: .65; text-decoration: line-through; }
.nm-sub-bloco { margin-top: .4rem; }

/* ── Semáforo do analisador ── */
.nm-semaf { display: grid; grid-template-columns: repeat(auto-fill, minmax(140px, 1fr)); gap: .45rem; margin-top: .4rem; }
.nm-semaf > div { display: grid; grid-template-columns: auto 1fr; column-gap: .45rem; padding: .6rem .7rem; border-radius: 12px; background: var(--kt); border: 1px solid color-mix(in srgb, var(--k) 30%, transparent); }
.nm-semaf span { grid-row: span 2; font-size: 1.1rem; }
.nm-semaf small { font-size: .74rem; color: var(--pf-text-2); }
.nm-semaf b { color: var(--k); font-size: .95rem; }

/* ── Informações das sentenças ── */
.nm-infos { display: grid; gap: .5rem; margin: .8rem 0; }
.nm-info { display: flex; gap: .65rem; padding: .7rem .85rem; border-radius: 12px; background: var(--kt); }
.nm-info > span { font-size: 1.2rem; }
.nm-info b { color: var(--k); font-size: .86rem; }
.nm-info p { margin: .15rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--pf-text); }

/* ── Conector DB9 ── */
.nm-db9 { display: grid; justify-items: center; gap: .35rem; width: max-content; max-width: 100%; margin: .4rem auto .6rem; padding: .9rem 1.4rem; border-radius: 18px 18px 30px 30px / 18px 18px 60px 60px; background: var(--pf-diagram-metal); box-shadow: inset 0 0 0 4px var(--pf-diagram-light); }
.nm-db9-l { display: flex; gap: .35rem; }
.nm-pino { display: grid; place-items: center; width: 46px; height: 46px; border: 2px solid var(--pf-diagram-tint); border-radius: 50%; background: var(--pf-diagram-bg); color: var(--pf-diagram-tint); font: inherit; font-weight: 800; font-size: .95rem; line-height: 1; cursor: pointer; }
.nm-pino small { font-size: .52rem; font-weight: 700; opacity: .8; }
.nm-pino-txd { background: var(--nm-pin-tx); color: var(--nm-on-grad); }
.nm-pino-rxd { background: var(--nm-pin-rx); color: var(--nm-on-grad); }
.nm-pino-gnd { background: var(--pf-diagram-ink); color: var(--nm-on-grad); }
.nm-pino.nm-on { outline: 4px solid var(--pf-accent); outline-offset: 2px; transform: scale(1.08); }
.nm-pino-info { padding: .6rem .8rem; border-radius: 10px; background: var(--pf-primary-tint); font-size: .9rem; color: var(--pf-text); text-align: center; }
@media (max-width: 380px) { .nm-pino { width: 40px; height: 40px; } .nm-db9 { padding: .8rem 1rem; } }

/* ── Entrada de medição ── */
.nm-v-row { display: grid; gap: .5rem; margin: .6rem 0; }
.nm-v-lab { display: grid; gap: .35rem; font-size: .85rem; font-weight: 700; color: var(--pf-text); }
.nm-v-lab span { display: flex; align-items: center; gap: .4rem; }
.nm-v-lab input { flex: 1; min-width: 0; min-height: 56px; padding: 0 .9rem; border: 2px solid var(--pf-border-strong); border-radius: 14px; background: var(--pf-surface); color: var(--pf-text); font: inherit; font-size: 1.5rem; font-weight: 800; font-variant-numeric: tabular-nums; }
.nm-v-lab em { font-style: normal; font-size: 1.3rem; font-weight: 800; color: var(--pf-text-2); }
.nm-v-rap { display: flex; flex-wrap: wrap; gap: .35rem; }
.nm-chip-v { min-height: 38px; padding: 0 .75rem; border: 1px solid var(--pf-border-strong); border-radius: 999px; background: var(--pf-surface-2); color: var(--pf-text); font: inherit; font-size: .82rem; font-weight: 700; cursor: pointer; }

/* ── Passos verticais curtos ── */
.nm-passos-v { display: grid; gap: .4rem; margin: .4rem 0 .8rem; }
.nm-pv { display: flex; gap: .7rem; align-items: center; padding: .55rem .7rem; border-radius: 12px; background: var(--pf-surface-2); border: 1px solid var(--pf-border); }
.nm-pv-n { flex: 0 0 30px; height: 30px; display: grid; place-items: center; border-radius: 50%; background: var(--pf-primary-surface); color: var(--pf-on-primary); font-weight: 800; }
.nm-pv b { display: block; font-size: .9rem; color: var(--pf-text); }
.nm-pv small { font-size: .8rem; color: var(--pf-text-2); }

/* ── Checklist e progresso ── */
.nm-ck-top { display: flex; align-items: center; gap: .7rem; margin: .4rem 0 .7rem; }
.nm-ck-top b { flex: 0 0 auto; font-size: .85rem; color: var(--pf-text); }
.nm-ck-bar { flex: 1; height: 10px; border-radius: 999px; background: var(--pf-surface-3); overflow: hidden; }
.nm-ck-bar span { display: block; height: 100%; border-radius: 999px; background: var(--nm-green-grad); transition: width .25s; }
.nm-ck { display: grid; gap: .45rem; }
.nm-ck-i { display: flex; align-items: center; gap: .7rem; min-height: 60px; padding: .55rem .8rem; border: 1px solid var(--pf-border); border-radius: 14px; background: var(--pf-surface); color: var(--pf-text); font: inherit; text-align: left; cursor: pointer; }
.nm-ck-i b { display: block; font-size: .93rem; }
.nm-ck-i small { font-size: .8rem; color: var(--pf-text-2); }
.nm-ck-ic { font-size: 1.25rem; }
.nm-ck-box { flex: 0 0 26px; height: 26px; border-radius: 8px; border: 2px solid var(--pf-border-strong); display: grid; place-items: center; }
.nm-ck-i[aria-pressed="true"] { background: var(--nm-green-tint); border-color: var(--nm-green); }
.nm-ck-i[aria-pressed="true"] .nm-ck-box { background: var(--nm-green); border-color: var(--nm-green); }
.nm-ck-i[aria-pressed="true"] .nm-ck-box::after { content: "✓"; color: var(--pf-surface); font-weight: 900; }
.nm-ck-i[aria-pressed="true"] b { text-decoration: line-through; opacity: .75; }
.nm-ck-zera { margin-top: .7rem; }

/* ── Guias em etapas ── */
.nm-spec { display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: .45rem; margin: .5rem 0 .9rem; }
.nm-spec > div { display: grid; grid-template-columns: auto 1fr; column-gap: .5rem; padding: .6rem .7rem; border-radius: 12px; background: var(--pf-primary-tint); }
.nm-spec span { grid-row: span 2; font-size: 1.2rem; align-self: center; }
.nm-spec small { font-size: .72rem; font-weight: 700; letter-spacing: .03em; text-transform: uppercase; color: var(--pf-primary); }
.nm-spec b { font-size: .88rem; line-height: 1.35; color: var(--pf-text); }
.nm-etapas { list-style: none; margin: 0; padding: 0; position: relative; }
.nm-etapas li { position: relative; display: flex; gap: .8rem; padding-bottom: 1rem; }
.nm-etapas li:not(:last-child)::before { content: ""; position: absolute; left: 21px; top: 44px; bottom: 0; width: 3px; border-radius: 3px; background: var(--pf-border); }
.nm-etapas li.nm-feita::before { background: var(--nm-green); }
.nm-etapa-n { flex: 0 0 44px; height: 44px; border-radius: 50%; border: 3px solid var(--pf-primary); background: var(--pf-surface); color: var(--pf-primary); font: inherit; font-weight: 900; font-size: 1.05rem; cursor: pointer; }
.nm-feita .nm-etapa-n { background: var(--nm-green); border-color: var(--nm-green); color: var(--pf-surface); }
.nm-etapas li > div { flex: 1; padding: .6rem .85rem; border-radius: 14px; background: var(--pf-surface-2); border: 1px solid var(--pf-border); }
.nm-etapas li > div > b { font-size: .97rem; color: var(--pf-text); }
.nm-etapas li > div > p { margin: .25rem 0 0; font-size: .9rem; line-height: 1.5; color: var(--pf-text); }
.nm-ver { margin-top: .55rem; padding: .5rem .65rem; border-radius: 10px; background: var(--nm-green-tint); font-size: .85rem; line-height: 1.45; color: var(--pf-text); }
.nm-ver b { display: block; font-size: .75rem; color: var(--nm-green); }

/* ── Assistente de diagnóstico ── */
.nm-sint { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .45rem; }
.nm-sint-i { display: flex; align-items: center; gap: .7rem; min-height: 60px; padding: .5rem .8rem; border: 1px solid color-mix(in srgb, var(--k) 30%, transparent); border-left: 5px solid var(--k); border-radius: 14px; background: var(--kt); color: var(--pf-text); font: inherit; font-weight: 700; font-size: .9rem; line-height: 1.3; text-align: left; cursor: pointer; }
.nm-sint-i span { font-size: 1.35rem; }
.nm-wz-top { display: flex; align-items: center; gap: .7rem; padding: .7rem .8rem; border-radius: 14px; background: var(--kg); color: var(--nm-on-grad); }
.nm-wz-top > span { font-size: 1.5rem; }
.nm-wz-top div { flex: 1; }
.nm-wz-top small { display: block; font-size: .7rem; opacity: .85; }
.nm-wz-top b { font-size: .95rem; line-height: 1.3; }
.nm-wz-top .nm-sec { min-height: 38px; background: transparent; color: var(--nm-on-grad); border-color: currentColor; }
.nm-wz-prog { display: flex; gap: 4px; margin: .8rem 0; }
.nm-wz-prog span { flex: 1; height: 7px; border-radius: 6px; background: var(--pf-surface-3); }
.nm-wz-prog .nm-ok { background: var(--nm-green); } .nm-wz-prog .nm-at { background: var(--pf-primary); }
.nm-wz-card { padding: 1rem; border-radius: 16px; background: var(--pf-surface); border: 2px solid var(--pf-primary-tint); }
.nm-wz-card > small { font-size: .75rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--pf-primary); }
.nm-wz-card h4 { margin: .2rem 0 .7rem; font-size: 1.25rem; line-height: 1.3; color: var(--pf-text); }
.nm-wz-como { padding: .7rem .85rem; border-radius: 12px; background: var(--nm-blue-tint); }
.nm-wz-como b { color: var(--nm-blue); font-size: .85rem; }
.nm-wz-como p { margin: .25rem 0 0; font-size: .92rem; line-height: 1.5; color: var(--pf-text); }
.nm-wz-bts { display: flex; flex-wrap: wrap; gap: .5rem; margin-top: .6rem; }
.nm-wz-todos { margin-top: .8rem; font-size: .88rem; color: var(--pf-text); }
.nm-wz-todos summary { min-height: 44px; display: flex; align-items: center; cursor: pointer; font-weight: 700; color: var(--pf-primary); }
.nm-wz-todos li { margin: .35rem 0; line-height: 1.45; }

/* ══ Página inicial ══════════════════════════════════════════════════════ */
.nm-sec-h { margin: 2.2rem 0 1rem; }
.nm-sec-h .eyebrow { color: var(--pf-primary); }
.nm-sec-h h2 { margin: .2rem 0 .3rem; font-size: clamp(1.45rem, 4.5vw, 2rem); letter-spacing: -.02em; color: var(--pf-text); }
.nm-sec-h p { margin: 0; color: var(--pf-text-2); font-size: .92rem; }
.nm-kit { display: grid; grid-template-columns: repeat(5, 1fr); gap: .65rem; }
.nm-kit a { position: relative; display: flex; flex-direction: column; gap: .3rem; min-height: 150px; padding: .9rem; border-radius: 18px; background: var(--kg); color: var(--nm-on-grad); text-decoration: none; overflow: hidden; box-shadow: 0 6px 16px color-mix(in srgb, var(--k) 28%, transparent); transition: transform .15s; }
.nm-kit a:active { transform: scale(.97); }
.nm-kit a::after { content: ""; position: absolute; right: -24px; bottom: -24px; width: 90px; height: 90px; border-radius: 50%; background: color-mix(in srgb, var(--nm-on-grad) 12%, transparent); }
.nm-kit-ic { display: grid; place-items: center; width: 44px; height: 44px; border-radius: 13px; background: color-mix(in srgb, var(--nm-on-grad) 20%, transparent); font-size: 1.4rem; }
.nm-kit b { margin-top: .2rem; font-size: 1rem; line-height: 1.2; }
.nm-kit small { font-size: .78rem; line-height: 1.35; opacity: .92; }
.nm-kit-tag { position: absolute; top: .7rem; right: .7rem; padding: 2px 8px; border-radius: 999px; background: color-mix(in srgb, var(--nm-on-grad) 22%, transparent); font-size: .62rem; font-weight: 800; letter-spacing: .05em; text-transform: uppercase; }
@media (max-width: 860px) { .nm-kit { grid-template-columns: repeat(2, 1fr); } }
.nm-hero-cta { display: flex; flex-wrap: wrap; gap: .5rem; }
.nm-hero-cta .nm-cta-sos { display: inline-flex; align-items: center; gap: .4rem; min-height: 48px; padding: 0 1.1rem; border-radius: 12px; background: var(--nm-red-grad); color: var(--nm-on-grad); font-weight: 800; text-decoration: none; }
.nm-bloco { padding: 1rem; border-radius: 20px; background: var(--pf-surface); border: 1px solid var(--pf-border); }
.nm-mods { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: .6rem; }
.nm-mod { display: flex; gap: .8rem; align-items: center; padding: .85rem .9rem; border-radius: 16px; background: var(--pf-surface); border: 1px solid var(--pf-border); border-top: 4px solid var(--k); text-decoration: none; color: var(--pf-text); }
.nm-mod-ic { flex: 0 0 50px; height: 50px; display: grid; place-items: center; border-radius: 14px; background: var(--kg); font-size: 1.5rem; }
.nm-mod b { display: block; font-size: 1rem; color: var(--pf-text); }
.nm-mod small { display: block; font-size: .8rem; color: var(--pf-text-2); line-height: 1.35; }
.nm-mod-tags { display: flex; flex-wrap: wrap; gap: 3px; margin-top: .35rem; }
.nm-mod-tags span { padding: 1px 7px; border-radius: 999px; background: var(--kt); color: var(--k); font-size: .68rem; font-weight: 700; }
.nm-mod-go { margin-left: auto; color: var(--k); font-weight: 900; }

/* Cabeçalho e faixas de categoria na cor de cada módulo */
html[data-module^="nm-"] body.module-studio > .header .header-content::after { background: linear-gradient(100deg, color-mix(in srgb, var(--pf-primary-surface) 82%, var(--pf-diagram-bg-deep)) 0%, color-mix(in srgb, var(--pf-primary-surface) 55%, transparent) 100%); }
html[data-module^="nm-"] .module-studio .category-header:not(td) { background: linear-gradient(90deg, color-mix(in srgb, var(--pf-primary-surface) 90%, var(--pf-diagram-bg-deep)), color-mix(in srgb, var(--pf-primary-surface) 60%, transparent)), var(--module-photo) center 55%/cover !important; }
.nm-info > span { flex: 0 0 auto; }
.nm-info > div { flex: 1; min-width: 0; }
.nm-pino small { color: inherit; }
.nm-db9 .nm-pino small, .nm-wz-top div small, .nm-painel-top div small, .nm-kit a small { color: inherit; }

/* ══ Operações agrícolas ═════════════════════════════════════════════════ */
.nm-ops { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: .8rem; }
.nm-ops-g { padding: .7rem; border-radius: 16px; background: var(--kt); border: 1px solid color-mix(in srgb, var(--k) 22%, transparent); }
.nm-ops-h { display: flex; align-items: center; gap: .5rem; margin: .1rem .2rem .6rem; font-weight: 800; font-size: .95rem; color: var(--k); }
.nm-ops-h span { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 10px; background: var(--kg); font-size: 1rem; }
.nm-op-l { display: flex; align-items: center; gap: .65rem; min-height: 60px; margin-top: .4rem; padding: .55rem .7rem; border-radius: 12px; background: var(--pf-surface); color: var(--pf-text); text-decoration: none; border: 1px solid var(--pf-border); }
.nm-op-l:hover { border-color: var(--k); }
.nm-op-ic { font-size: 1.35rem; }
.nm-op-l > span:nth-child(2) { flex: 1; min-width: 0; }
.nm-op-l b { display: block; font-size: .88rem; line-height: 1.3; }
.nm-op-l small { display: block; font-size: .74rem; color: var(--pf-text-2); }
.nm-nivel { flex: 0 0 auto; padding: 3px 8px; border-radius: 999px; background: var(--kt); color: var(--k); border: 1px solid color-mix(in srgb, var(--k) 40%, transparent); font-size: .66rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.nm-op-top { display: flex; gap: .8rem; align-items: center; padding: .9rem 1rem; border-radius: 16px; background: var(--pf-gradient-primary); color: var(--nm-on-grad); }
.nm-op-top > span { font-size: 2rem; }
.nm-op-top b { font-size: 1.1rem; }
.nm-op-top p { margin: .2rem 0 0; font-size: .88rem; opacity: .92; line-height: 1.45; }
.nm-op-nivel { display: grid; gap: 2px; margin: .7rem 0; padding: .65rem .85rem; border-radius: 12px; background: var(--kt); border-left: 5px solid var(--k); }
.nm-op-nivel b { color: var(--k); font-size: .95rem; }
.nm-op-nivel span { font-size: .84rem; color: var(--pf-text); }
.nm-op-calc { margin-top: 1rem; padding: .9rem; border-radius: 16px; background: var(--pf-surface-2); border: 2px dashed var(--pf-border-strong); }
.nm-op-calc .nm-sub-t { margin-top: 0; }
.nm-op-calc-in { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .5rem; }
.nm-op-calc-in label { display: grid; gap: .3rem; font-size: .8rem; font-weight: 700; color: var(--pf-text); }
.nm-op-calc-in span { display: flex; align-items: center; gap: .35rem; }
.nm-op-calc-in input, .nm-op-calc-in select { flex: 1; min-width: 0; min-height: 48px; padding: 0 .7rem; border: 2px solid var(--pf-border-strong); border-radius: 12px; background: var(--pf-surface); color: var(--pf-text); font: inherit; font-size: 1.15rem; font-weight: 800; }
.nm-op-calc-in em { font-style: normal; font-weight: 800; color: var(--pf-text-2); }

/* ══ Correção por satélite ═══════════════════════════════════════════════ */
.nm-serv { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .6rem; }
.nm-serv-i { padding: .8rem; border-radius: 14px; background: var(--pf-surface); border: 1px solid var(--pf-border); border-top: 5px solid var(--k); }
.nm-serv-m { display: block; margin-bottom: .4rem; font-size: 1rem; color: var(--k); }
.nm-serv-n > div { display: grid; grid-template-columns: auto 1fr; column-gap: .5rem; align-items: center; padding: .45rem 0; border-top: 1px solid var(--pf-border); }
.nm-serv-n .nm-nivel { grid-row: span 2; }
.nm-serv-n b { font-size: .9rem; color: var(--pf-text); }
.nm-serv-n small { font-size: .78rem; color: var(--pf-text-2); }
.nm-serv-i > p { margin: .5rem 0 0; font-size: .78rem; line-height: 1.45; color: var(--pf-text-2); }
.nm-range { width: 100%; min-height: 40px; accent-color: var(--pf-primary); }
.nm-ceu { display: grid; grid-template-columns: minmax(0, 220px) 1fr; gap: .8rem; align-items: center; margin-top: .6rem; }
.nm-ceu-svg { width: 100%; max-width: 220px; }
@media (max-width: 520px) { .nm-ceu { grid-template-columns: 1fr; justify-items: center; } .nm-ceu .nm-semaf { width: 100%; } }

/* ══ NMEA 2000 ═══════════════════════════════════════════════════════════ */
.nm-padroes { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: .6rem; }
.nm-padrao { border-radius: 14px; overflow: hidden; background: var(--kt); border: 1px solid color-mix(in srgb, var(--k) 25%, transparent); }
.nm-padrao-h { display: flex; align-items: center; gap: .5rem; padding: .6rem .8rem; background: var(--kg); color: var(--nm-on-grad); }
.nm-padrao-h span { font-size: 1.3rem; }
.nm-padrao dl { margin: 0; padding: .3rem .8rem .7rem; }
.nm-padrao dt { margin-top: .45rem; font-size: .7rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--k); }
.nm-padrao dd { margin: .1rem 0 0; font-size: .86rem; line-height: 1.4; color: var(--pf-text); }
.nm-vs { display: grid; gap: .4rem; }
.nm-vs-h, .nm-vs-l { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem; }
.nm-vs-h > span { display: none; }
.nm-vs-h b { padding: .55rem; border-radius: 10px; background: var(--kg); color: var(--nm-on-grad); text-align: center; font-size: .9rem; }
.nm-vs-l > span { grid-column: 1 / -1; margin-top: .35rem; font-size: .72rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; color: var(--pf-text-2); }
.nm-vs-l p { margin: 0; padding: .55rem .65rem; border-radius: 10px; background: var(--kt); font-size: .85rem; line-height: 1.4; color: var(--pf-text); }
.nm-n2k-con { display: grid; grid-template-columns: 150px 1fr; gap: .9rem; align-items: center; margin-bottom: .6rem; }
.nm-n2k-face { position: relative; width: 150px; height: 150px; border-radius: 50%; background: var(--pf-diagram-metal); box-shadow: inset 0 0 0 7px var(--pf-diagram-light), inset 0 0 0 9px var(--pf-diagram-bg-deep); }
.nm-n2k-p { position: absolute; width: 40px; height: 40px; margin: -2px 0 0 -2px; border: 2px solid var(--pf-diagram-tint); border-radius: 50%; background: var(--pf-diagram-bg); color: var(--nm-on-grad); font: inherit; font-weight: 900; cursor: pointer; }
.nm-n2k-p1 { background: var(--pf-diagram-light); color: var(--pf-diagram-ink); }
.nm-n2k-p2 { background: var(--nm-fio-red); } .nm-n2k-p3 { background: var(--nm-fio-black); } .nm-n2k-p4 { background: var(--nm-fio-white); color: var(--pf-diagram-ink); } .nm-n2k-p5 { background: var(--nm-fio-blue); }
.nm-n2k-p.nm-on { outline: 4px solid var(--pf-accent); outline-offset: 2px; }
.nm-n2k-key { position: absolute; top: 4px; left: 50%; width: 14px; height: 12px; margin-left: -7px; border-radius: 0 0 6px 6px; background: var(--pf-diagram-bg-deep); }
.nm-fio { display: inline-block; width: 14px; height: 14px; border-radius: 50%; vertical-align: -2px; border: 1px solid var(--pf-border-strong); }
.nm-fio1 { background: var(--pf-diagram-light); } .nm-fio2 { background: var(--nm-fio-red); } .nm-fio3 { background: var(--nm-fio-black); } .nm-fio4 { background: var(--nm-fio-white); } .nm-fio5 { background: var(--nm-fio-blue); }
@media (max-width: 420px) { .nm-n2k-con { grid-template-columns: 1fr; justify-items: center; } }
.nm-pgns { display: grid; gap: .45rem; }
.nm-pgn { display: flex; gap: .7rem; padding: .65rem .75rem; border-radius: 12px; background: var(--kt); border-left: 5px solid var(--k); }
.nm-pgn-n { flex: 0 0 auto; min-width: 74px; padding: .3rem .4rem; border-radius: 8px; background: var(--kg); color: var(--nm-on-grad); font-family: var(--pf-font-mono); font-size: .9rem; text-align: center; align-self: flex-start; }
.nm-pgn b { color: var(--pf-text); font-size: .92rem; }
.nm-pgn p { margin: .15rem 0 .35rem; font-size: .84rem; line-height: 1.4; color: var(--pf-text); }
.nm-pgn-t { display: inline-block; margin: 0 .3rem .2rem 0; padding: 2px 8px; border-radius: 999px; background: var(--pf-surface); font-size: .72rem; font-weight: 700; color: var(--pf-text-2); }
.nm-gw { display: grid; gap: .4rem; }
.nm-gw-l { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.4fr); gap: .4rem; align-items: center; }
.nm-gw-a, .nm-gw-b { padding: .5rem .6rem; border-radius: 10px; background: var(--kt); color: var(--pf-text); font-size: .82rem; line-height: 1.3; }
.nm-gw-a { font-weight: 800; color: var(--k); }
.nm-gw-b b { color: var(--k); font-family: var(--pf-font-mono); }
.nm-gw-s { font-size: 1.1rem; color: var(--pf-text-2); }

/* ══ Glossário ═══════════════════════════════════════════════════════════ */
.nm-glos-cats { display: flex; flex-wrap: wrap; gap: .35rem; margin: .3rem 0 .5rem; }
.nm-glos-cat { min-height: 40px; padding: 0 .8rem; border: 1px solid var(--k, var(--pf-border-strong)); border-radius: 999px; background: var(--kt, var(--pf-surface)); color: var(--k, var(--pf-text)); font: inherit; font-size: .8rem; font-weight: 700; cursor: pointer; }
.nm-glos-cat[aria-pressed="true"] { background: var(--kg, var(--pf-primary-surface)); color: var(--nm-on-grad); border-color: transparent; }
.nm-glos-n { margin: .2rem 0 .5rem; font-size: .8rem; color: var(--pf-text-2); }
.nm-glos-l { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: .5rem; }
.nm-glos-i { padding: .7rem .85rem; border-radius: 12px; background: var(--pf-surface); border: 1px solid var(--pf-border); border-left: 5px solid var(--k); scroll-margin-top: 90px; }
.nm-glos-i.nm-alvo { background: var(--kt); box-shadow: 0 0 0 3px var(--k); }
.nm-glos-t { display: flex; flex-wrap: wrap; justify-content: space-between; gap: .3rem; align-items: baseline; }
.nm-glos-t b { font-size: 1rem; color: var(--pf-text); }
.nm-glos-t span { font-size: .68rem; font-weight: 700; color: var(--k); }
.nm-glos-i p { margin: .3rem 0 0; font-size: .88rem; line-height: 1.5; color: var(--pf-text); }
.nm-glos-i small { display: block; margin-top: .3rem; font-size: .74rem; color: var(--pf-text-2); }
/* Termo clicável dentro dos textos */
button.nm-gl { all: unset; display: inline; border-bottom: 2px dotted var(--pf-primary); color: inherit; cursor: help; -webkit-tap-highlight-color: transparent; }
button.nm-gl:hover, button.nm-gl:focus-visible { background: var(--pf-primary-tint); border-bottom-style: solid; outline: 2px solid transparent; }
.nm-gl-pop { position: fixed; left: 50%; bottom: calc(16px + env(safe-area-inset-bottom, 0px)); z-index: 9000; width: min(440px, calc(100vw - 24px)); transform: translateX(-50%); padding: .9rem 1rem 1rem; border-radius: 18px; background: var(--pf-surface); border: 1px solid var(--pf-border); border-top: 5px solid var(--k); box-shadow: 0 14px 40px color-mix(in srgb, var(--pf-diagram-bg-deep) 35%, transparent); }
.nm-gl-pop-h { display: flex; justify-content: space-between; align-items: center; font-size: .72rem; font-weight: 800; color: var(--k); }
.nm-gl-x { width: 40px; height: 40px; border: 0; border-radius: 50%; background: var(--pf-surface-3); color: var(--pf-text); font-size: 1.3rem; cursor: pointer; }
.nm-gl-pop > b { display: block; font-size: 1.15rem; color: var(--pf-text); }
.nm-gl-pop p { margin: .35rem 0 .6rem; font-size: .93rem; line-height: 1.55; color: var(--pf-text); }
.nm-gl-pop a { font-weight: 800; color: var(--k); }
.nm-seg { display: flex; max-width: 100%; }
.nm-seg button { flex: 1 1 auto; min-width: 0; padding: 8px 10px; }

/* ══ Ferramentas: faixa "No campo" e resultados em blocos ═════════════════ */
.nm-uso { display: flex; gap: .65rem; align-items: flex-start; margin: 0 0 .9rem; padding: .7rem .85rem; border-radius: 14px; background: var(--pf-gradient-primary); color: var(--nm-on-grad); }
.nm-uso > span { flex: 0 0 auto; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 10px; background: color-mix(in srgb, var(--nm-on-grad) 18%, transparent); font-size: 1.15rem; }
.nm-uso p { margin: 0; font-size: .88rem; line-height: 1.5; }
html[data-module^="nm-"] [data-nmea] .result-box.show { border: 1px solid color-mix(in srgb, var(--pf-primary) 25%, transparent) !important; border-left: 5px solid var(--pf-primary) !important; border-radius: 16px !important; background: var(--pf-primary-tint) !important; }
html[data-module^="nm-"] [data-nmea] .result-title { margin-bottom: .5rem; font-size: 1.12rem; color: var(--pf-primary) !important; }
html[data-module^="nm-"] .module-studio [data-nmea] .result-item, html[data-module^="nm-"] [data-nmea] .result-item { justify-content: space-between; align-items: center; margin: .35rem 0; padding: .6rem .75rem !important; border: 0 !important; border-radius: 10px; background: var(--pf-surface); }
html[data-module^="nm-"] [data-nmea] .result-label { font-size: .84rem; }
html[data-module^="nm-"] [data-nmea] .result-value { color: var(--pf-primary) !important; font-size: 1rem; text-align: right; }
