/* Shared styles for the network tools (IP, DNS, WHOIS, SSL, headers, up/down, user agent) */
.nt-bar { display:flex; gap:10px; flex-wrap:wrap; }
.nt-bar input[type="text"], .nt-bar textarea {
    flex:1; min-width:220px; padding:12px 14px; font-size:16px; border:1px solid #cdd3dc; border-radius:10px;
    background:#fff; box-sizing:border-box; font-family:inherit;
}
.nt-bar input[type="text"]:focus, .nt-bar textarea:focus { outline:none; border-color:#4a90e2; box-shadow:0 0 0 3px rgba(74,144,226,.15); }
.nt-bar .db-btn { padding:12px 24px; font-size:16px; }
.nt-opts { display:flex; gap:8px 16px; flex-wrap:wrap; margin-top:10px; align-items:center; font-size:13.5px; }
.nt-opts select { padding:7px 10px; border:1px solid #cdd3dc; border-radius:8px; font-size:14px; background:#fff; }
.nt-chips { display:flex; flex-wrap:wrap; gap:6px; margin-top:10px; }
.nt-chips button { border:1px solid #cdd3dc; background:#f7f8fa; border-radius:14px; padding:3px 11px; font-size:12.5px; cursor:pointer; color:#445; }
.nt-chips button:hover { border-color:#4a90e2; color:#2f6fbd; }

.nt-msg { padding:11px 14px; border-radius:10px; font-size:14px; margin-top:14px; }
.nt-msg.err { background:#fdecec; color:#8f1d1d; border-left:4px solid #d64545; }
.nt-msg.info { background:#f2f7fe; color:#234; border-left:4px solid #4a90e2; }
.nt-load { display:inline-block; width:15px; height:15px; border:2px solid #cdd3dc; border-top-color:#4a90e2; border-radius:50%; animation:ntspin .8s linear infinite; vertical-align:-3px; margin-right:6px; }
@keyframes ntspin { to { transform:rotate(360deg); } }

.nt-hero { display:flex; align-items:center; gap:16px; flex-wrap:wrap; }
.nt-big { font-size:32px; font-weight:700; line-height:1.1; color:#1b2330; word-break:break-all; font-variant-numeric:tabular-nums; }
.nt-badge { display:inline-block; padding:4px 12px; border-radius:14px; font-size:13px; font-weight:700; letter-spacing:.3px; }
.nt-badge.ok { background:#e3f6e8; color:#14692f; }
.nt-badge.warn { background:#fff3d6; color:#8a5a00; }
.nt-badge.bad { background:#fde3e3; color:#9b1c1c; }
.nt-badge.neutral { background:#e9eef6; color:#34455f; }

.nt-grid { display:grid; grid-template-columns:repeat(auto-fit, minmax(150px, 1fr)); gap:10px; margin-top:14px; }
.nt-box { background:#f6f8fb; border-radius:12px; padding:11px 13px; }
.nt-box small { display:block; color:#667; font-size:11.5px; text-transform:uppercase; letter-spacing:.5px; }
.nt-box b { font-size:20px; color:#1b2330; font-variant-numeric:tabular-nums; word-break:break-word; }
.nt-box span { display:block; font-size:12.5px; color:#667; }

table.nt-table { width:100%; border-collapse:collapse; font-size:13.5px; }
table.nt-table th { text-align:left; color:#667; font-weight:600; padding:6px 8px; border-bottom:1px solid #e3e7ee; white-space:nowrap; }
table.nt-table td { padding:7px 8px; border-bottom:1px solid #f0f2f6; vertical-align:top; word-break:break-word; }
table.nt-table td.k { color:#667; width:30%; white-space:nowrap; }
table.nt-table td.mono, .nt-mono { font-family:Consolas, Menlo, monospace; font-size:12.5px; }
.nt-scroll { overflow-x:auto; }
.nt-copy { border:0; background:none; color:#2f6fbd; cursor:pointer; font-size:12px; padding:0 0 0 6px; }
.nt-list { margin:0; padding-left:18px; }
.nt-list li { margin:2px 0; }

.nt-check { display:flex; gap:10px; align-items:flex-start; padding:8px 0; border-bottom:1px solid #f0f2f6; }
.nt-check:last-child { border-bottom:0; }
.nt-check .dot { flex:none; width:22px; height:22px; border-radius:50%; text-align:center; line-height:22px; font-size:13px; font-weight:700; margin-top:1px; }
.nt-check .dot.ok { background:#e3f6e8; color:#14692f; }
.nt-check .dot.no { background:#fde3e3; color:#9b1c1c; }
.nt-check .dot.mid { background:#fff3d6; color:#8a5a00; }
.nt-check b { display:block; font-size:14px; }
.nt-check span { font-size:12.5px; color:#667; word-break:break-word; }

.nt-grade { width:64px; height:64px; border-radius:16px; display:flex; align-items:center; justify-content:center; font-size:34px; font-weight:800; color:#fff; flex:none; }
.nt-grade.A { background:#2e9e57; } .nt-grade.B { background:#7bb33b; } .nt-grade.C { background:#e0a21c; } .nt-grade.D { background:#e0701c; } .nt-grade.F { background:#d64545; }

.nt-hop { border:1px solid #e3e7ee; border-radius:12px; margin-top:10px; overflow:hidden; }
.nt-hop > .h { display:flex; gap:10px; align-items:center; padding:9px 12px; background:#f6f8fb; flex-wrap:wrap; cursor:pointer; }
.nt-hop > .h .u { flex:1; min-width:180px; font-family:Consolas, monospace; font-size:12.5px; word-break:break-all; }
.nt-hop > .b { padding:6px 12px 10px; display:none; }
.nt-hop.open > .b { display:block; }

.nt-chain { display:flex; flex-direction:column; gap:0; }
.nt-link { border:1px solid #e3e7ee; border-radius:12px; padding:10px 14px; background:#fff; }
.nt-arrow { text-align:center; color:#9aa3b2; line-height:1; padding:3px 0; font-size:14px; }

@media (max-width:600px) { .nt-big { font-size:24px; } .nt-bar .db-btn { width:100%; } }
