.npf-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(260px, 1fr)); gap:14px; margin:14px 0; }
.npf-card { background:#14172a; border:1px solid #232539; border-radius:8px; padding:14px; }
.npf-card h3 { margin-top:0; font-size:14px; color:#bbb; border-bottom:1px solid #232539; padding-bottom:6px; }
.npf-card label { display:flex; flex-direction:column; gap:4px; font-size:12px; margin-top:8px; }
.npf-card input, .npf-card select { background:#1a1d2c; color:#eee; border:1px solid #2a2d3c; border-radius:6px; padding:6px 8px; }
.npf-card .small { font-size:10px; }

.npf-result { background:#14172a; border:1px solid #232539; border-radius:8px; padding:14px; margin:14px 0; }
.np-out { display:grid; grid-template-columns:repeat(auto-fit, minmax(180px, 1fr)); gap:12px; }
.np-out .item { padding:10px; background:#0e1020; border-radius:6px; }
.np-out .item .lbl { color:#888; font-size:11px; }
.np-out .item .val { font-size:22px; font-weight:700; color:#f6c34a; }
.np-out .item.warn .val { color:#ff8080; }
.np-out .item.ok .val { color:#9be0a8; }

.npf-table table { width:100%; border-collapse:collapse; }
.npf-table th { color:#888; text-align:left; padding:6px; border-bottom:1px solid #2a2d3c; font-weight:500; font-size:12px; }
.npf-table td { padding:6px; border-bottom:1px solid #1a1d2c; font-size:13px; }
