.ip-form { margin-bottom: 18px; }
.ip-form .form-group { margin-bottom: 12px; }
.ip-form label { display: block; font-size: 13px; font-weight: bold; margin-bottom: 4px; color: #2c3e50; }
.ip-form input.form-control { max-width: 520px; }
.ip-status { margin-left: 10px; font-size: 13px; color: #777; }

.ip-error { padding: 10px 12px; margin-bottom: 14px; border: 1px solid #ebccd1; background: #f2dede; color: #a94442; font-size: 13px; border-radius: 3px; }
.ip-resolved { padding: 8px 12px; margin-bottom: 12px; border: 1px solid #ddd; background: #f5f5f5; font-size: 13px; border-radius: 3px; }

.ip-card { border: 1px solid #ddd; border-radius: 3px; margin-bottom: 16px; }
.ip-card-head { padding: 10px 12px; background: #fafafa; border-bottom: 1px solid #ddd; }
.ip-addr { font-family: monospace; font-size: 16px; font-weight: bold; word-break: break-all; }
.ip-kind { display: inline-block; margin-top: 4px; padding: 1px 8px; border-radius: 3px; font-size: 12px; font-weight: bold; background: #eee; color: #555; }
.ip-kind.ip-k-public { background: #dff0d8; color: #3c763d; }
.ip-note { font-size: 12px; color: #777; margin-top: 4px; }

.ip-group-title { font-size: 14px; font-weight: bold; margin: 14px 12px 8px; border-left: 4px solid #337ab7; padding-left: 8px; }
.ip-table { width: calc(100% - 24px); margin: 0 12px 12px; border-collapse: collapse; font-size: 13px; }
.ip-table td { padding: 6px 10px; border: 1px solid #ddd; vertical-align: top; word-break: break-all; }
.ip-name { white-space: nowrap; width: 170px; background: #fafafa; color: #2c3e50; }
.ip-mono { font-family: monospace; }
.ip-ok { color: #3c763d; }
.ip-warn { color: #8a6d3b; }
.ip-muted { color: #888; }

@media (max-width: 600px) {
	.ip-name { width: auto; white-space: normal; }
	.ip-form input.form-control { max-width: 100%; }
}
