/* «افحص اتصالك» connection test (/test) */
.nt { --nt-idle: #8a94a6; --nt-down: #00e5a0; --nt-up: #6c5cff; }
.nt-ctl { display: flex; flex-wrap: wrap; gap: 12px 18px; align-items: center; margin: 14px 0 10px; }
.nt-light { display: inline-flex; gap: 8px; align-items: center; cursor: pointer; min-height: 44px; }
.nt-light input { width: 20px; height: 20px; accent-color: var(--nt-down); }
.nt progress { width: 100%; height: 8px; border-radius: 6px; overflow: hidden; appearance: none; border: 0; background: rgba(127, 127, 127, .2); }
.nt progress::-webkit-progress-bar { background: rgba(127, 127, 127, .2); }
.nt progress::-webkit-progress-value { background: linear-gradient(90deg, #00e5a0, #6c5cff); }
.nt progress::-moz-progress-bar { background: linear-gradient(90deg, #00e5a0, #6c5cff); }
.nt-out { margin-top: 16px; }
.nt-top { display: flex; flex-wrap: wrap; gap: 16px; align-items: stretch; }
.nt-grade { min-width: 110px; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 10px 14px; border-radius: 14px; background: rgba(127, 127, 127, .08); outline: none; }
.nt-grade b { font-size: 56px; line-height: 1; font-weight: 800; }
.nt-grade.good b { color: #00e5a0; } .nt-grade.acc b { color: #6c9bff; } .nt-grade.warn b { color: #ffb648; } .nt-grade.bad b { color: #ff5d6c; }
.nt-stats { flex: 1 1 280px; display: grid; grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); gap: 10px; }
.nt-stat { display: flex; flex-direction: column; gap: 2px; padding: 10px 12px; border-radius: 12px; background: rgba(127, 127, 127, .08); min-width: 0; }
.nt-stat .l { font-size: .85em; opacity: .8; } .nt-stat .v { font-size: 1.35em; font-weight: 700; }
.nt-chart { margin: 16px 0 6px; }
.nt-chart svg { width: 100%; height: 140px; display: block; }
.nt-ax { stroke: rgba(127, 127, 127, .35); stroke-width: 1; }
.nt-leg { display: flex; flex-wrap: wrap; gap: 6px 14px; font-size: .85em; margin-top: 4px; }
.nt-leg i { display: inline-block; width: 12px; height: 3px; border-radius: 2px; margin-inline-end: 6px; vertical-align: middle; }
.nt-adv { font-weight: 600; margin: 12px 0; }
.nt-tbl-wrap { overflow-x: auto; margin: 10px 0 16px; }
.nt-tbl { width: 100%; border-collapse: collapse; min-width: 300px; }
.nt-tbl caption { text-align: start; font-weight: 700; padding-bottom: 6px; }
.nt-tbl th, .nt-tbl td { padding: 8px 10px; text-align: start; border-bottom: 1px solid rgba(127, 127, 127, .2); }
.nt-v { display: inline-block; padding: 2px 10px; border-radius: 999px; font-size: .9em; font-weight: 600; }
.nt-v.good { background: rgba(0, 229, 160, .15); color: #00b47e; }
.nt-v.warn { background: rgba(255, 182, 72, .18); color: #c77c00; }
.nt-v.bad { background: rgba(255, 93, 108, .16); color: #e0384a; }
@media (prefers-color-scheme: dark) { .nt-v.good { color: #34f0b8; } .nt-v.warn { color: #ffc56b; } .nt-v.bad { color: #ff8692; } }
.nt-fix h3 { margin-top: 0; }
.nt-fix ul { padding-inline-start: 20px; }
.nt-fix li { margin: 6px 0; }
.nt-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0; }
.nt-isp { margin-top: 16px; } .nt-isp h3 { margin-top: 0; }
.nt-isp-pick { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 8px 0; }
.nt-isp-pick select { min-height: 40px; max-width: 100%; }
.nt-isp-list { padding-inline-start: 20px; }
@media (max-width: 520px) { .nt-grade { flex: 1 1 100%; flex-direction: row; gap: 12px; } .nt-grade b { font-size: 44px; } .nt-ctl .btn { width: 100%; } }
@media (prefers-reduced-motion: reduce) { .nt progress::-webkit-progress-value { transition: none; } }
