/* IP classification badge + details. Text always carries the meaning; colour
   only reinforces it, so the badge works for colour-blind users and in print. */
.ipc-badge{display:inline-flex;align-items:center;gap:6px;margin-left:8px;padding:2px 9px;
  border-radius:999px;font-size:11.5px;font-weight:600;letter-spacing:.02em;line-height:1.7;
  border:1px solid transparent;white-space:normal;vertical-align:middle}
.ipc-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex:none;opacity:.8}
.ipc-clickable{cursor:pointer}
.ipc-clickable:hover{filter:brightness(1.12)}
.ipc-badge:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}
.ipc-loading{background:rgba(148,163,184,.16);color:#94a3b8;border-color:rgba(148,163,184,.3)}
.ipc-hosting{background:rgba(59,130,246,.16);color:#60a5fa;border-color:rgba(59,130,246,.35)}
.ipc-business{background:rgba(139,92,246,.16);color:#a78bfa;border-color:rgba(139,92,246,.35)}
.ipc-isp{background:rgba(16,185,129,.16);color:#34d399;border-color:rgba(16,185,129,.35)}
.ipc-mobile{background:rgba(6,182,212,.16);color:#22d3ee;border-color:rgba(6,182,212,.35)}
.ipc-edu{background:rgba(245,158,11,.16);color:#fbbf24;border-color:rgba(245,158,11,.35)}
.ipc-gov{background:rgba(236,72,153,.16);color:#f472b6;border-color:rgba(236,72,153,.35)}
.ipc-special{background:rgba(100,116,139,.18);color:#cbd5e1;border-color:rgba(100,116,139,.4)}
.ipc-unknown{background:rgba(100,116,139,.14);color:#94a3b8;border-color:rgba(100,116,139,.3)}
.ipc-unavail{background:rgba(239,68,68,.14);color:#f87171;border-color:rgba(239,68,68,.32)}
#nt-ipclass-details{margin-top:10px;padding:14px 16px;border:1px solid var(--border,#253344);
  border-radius:10px;background:var(--panel,#0f172a);text-align:left;font-size:12.5px;line-height:1.55;
  max-width:720px}
.ipc-row{display:flex;flex-wrap:wrap;gap:6px;padding:3px 0;border-bottom:1px solid rgba(148,163,184,.1)}
.ipc-row>span:first-child{min-width:130px;opacity:.65;font-size:11.5px;text-transform:uppercase;letter-spacing:.06em}
.ipc-row code{font-size:11.5px;word-break:break-all}
.ipc-dim{opacity:.6}
.ipc-sub{margin:12px 0 5px;font-size:11px;font-weight:700;letter-spacing:.09em;text-transform:uppercase;opacity:.7}
.ipc-warn{color:#fbbf24}
.ipc-list{margin:0;padding-left:18px}
.ipc-list li{margin:3px 0;word-break:break-word}
.ipc-sources li{opacity:.85}
.ipc-notes{margin:10px 0 0;padding-left:18px;opacity:.8}
.ipc-notes li{margin:3px 0}
.ipc-disclaimer{margin:12px 0 0;padding-top:10px;border-top:1px solid rgba(148,163,184,.14);
  font-size:11.5px;opacity:.72}
@media (max-width:520px){
  .ipc-badge{margin-left:0;margin-top:5px}
  .ipc-row>span:first-child{min-width:0;width:100%}
}
