/* Shared styles for the network tools (dns, ssl, headers, myip). */
.net-form { display: flex; flex-wrap: wrap; gap: 0.75rem; align-items: flex-end; }
.net-form .field { flex: 1 1 260px; min-width: 0; }
.net-form .field.net-port { flex: 0 0 110px; }
.net-form .btn { height: 46px; }
.net-status { margin-top: 0.75rem; color: var(--text-secondary); min-height: 1.2rem; }
.net-table { width: 100%; border-collapse: collapse; font-size: 0.9rem; }
.net-table th, .net-table td { text-align: left; padding: 0.45rem 0.55rem; border-bottom: 1px solid var(--border-color); vertical-align: top; }
.net-table th { color: var(--text-secondary); font-weight: 600; white-space: nowrap; }
.net-table td.v { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all; }
.net-table td.n { white-space: nowrap; width: 1%; }
.net-empty { color: var(--text-secondary); font-size: 0.9rem; }
.net-badges { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 0.5rem; }
.net-big { font-size: clamp(1.4rem, 6vw, 2.4rem); font-weight: 700; font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; word-break: break-all; color: var(--text-primary); }
.net-audit li { list-style: none; padding: 0.6rem 0; border-bottom: 1px solid var(--border-color); }
.net-audit { padding: 0; margin: 0; }
.net-audit .h { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; font-weight: 600; }
.net-audit .val { font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace; font-size: 0.85rem; word-break: break-all; margin-top: 0.25rem; color: var(--text-primary); }
.net-hops { padding-left: 1.25rem; margin: 0; }
.net-hops li { margin: 0.35rem 0; word-break: break-all; }
.net-examples { font-size: 0.85rem; color: var(--text-secondary); margin-top: 0.5rem; }
.net-examples button { background: none; border: none; color: var(--accent-color); cursor: pointer; padding: 0 0.15rem; font-size: inherit; text-decoration: underline; }
.net-status:empty { display: none; }
