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

.og-error { padding: 10px 12px; margin-bottom: 14px; border: 1px solid #ebccd1; background: #f2dede; color: #a94442; font-size: 13px; border-radius: 3px; }
.og-note { padding: 8px 12px; margin-bottom: 12px; border: 1px solid #faebcc; background: #fcf8e3; color: #8a6d3b; font-size: 13px; border-radius: 3px; }
.og-group-title { font-size: 14px; font-weight: bold; margin: 18px 0 8px; border-left: 4px solid #337ab7; padding-left: 8px; }

.og-tabs { margin-bottom: 0; }
.og-previews { padding: 16px; border: 1px solid #ddd; border-top: 0; background: #f7f7f7; margin-bottom: 8px; }

/* Google検索 */
.pv-google { max-width: 600px; background: #fff; padding: 14px 16px; border-radius: 8px; font-family: Arial, "Noto Sans JP", sans-serif; }
.pv-google-site { display: flex; align-items: center; gap: 8px; font-size: 12px; color: #202124; margin-bottom: 4px; }
.pv-google-fav { width: 18px; height: 18px; border-radius: 50%; background: #eee; object-fit: cover; flex: none; }
.pv-google-url { color: #4d5156; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pv-google-title { font-size: 20px; line-height: 1.3; color: #1a0dab; margin: 0 0 3px; word-break: break-all; }
.pv-google-desc { font-size: 14px; line-height: 1.58; color: #4d5156; word-break: break-all; }

/* X */
.pv-x { max-width: 510px; background: #fff; border: 1px solid #cfd9de; border-radius: 16px; overflow: hidden; font-family: -apple-system, "Noto Sans JP", sans-serif; }
.pv-x-img { position: relative; width: 100%; padding-top: 52.36%; background: #e6ecf0; }
.pv-x-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pv-x-body { padding: 10px 12px; }
.pv-x-domain { font-size: 13px; color: #536471; }
.pv-x-title { font-size: 15px; color: #0f1419; margin: 2px 0; word-break: break-all; }
.pv-x-desc { font-size: 13px; color: #536471; word-break: break-all; }
.pv-x-small { display: flex; }
.pv-x-small .pv-x-img { width: 125px; flex: none; padding-top: 0; min-height: 125px; }
.pv-x-small .pv-x-body { align-self: center; }

/* Facebook */
.pv-fb { max-width: 500px; background: #f0f2f5; border: 1px solid #dadde1; overflow: hidden; font-family: Helvetica, Arial, "Noto Sans JP", sans-serif; }
.pv-fb-img { position: relative; width: 100%; padding-top: 52.35%; background: #dadde1; }
.pv-fb-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pv-fb-body { padding: 10px 12px; }
.pv-fb-domain { font-size: 12px; color: #606770; text-transform: uppercase; }
.pv-fb-title { font-size: 16px; font-weight: bold; color: #1d2129; margin: 3px 0; word-break: break-all; }
.pv-fb-desc { font-size: 14px; color: #606770; word-break: break-all; }

/* LINE */
.pv-line { max-width: 320px; background: #fff; border-radius: 12px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.15); font-family: "Noto Sans JP", sans-serif; }
.pv-line-img { position: relative; width: 100%; padding-top: 52.36%; background: #e6e6e6; }
.pv-line-img img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.pv-line-body { padding: 10px 12px; }
.pv-line-title { font-size: 14px; font-weight: bold; color: #111; word-break: break-all; }
.pv-line-domain { font-size: 12px; color: #999; margin-top: 3px; }
.pv-empty { display: flex; align-items: center; justify-content: center; color: #999; font-size: 12px; position: absolute; inset: 0; }

/* 点検結果 */
.og-check { display: flex; gap: 8px; padding: 6px 10px; margin-bottom: 4px; border-left: 4px solid #ddd; background: #fafafa; font-size: 13px; }
.og-check.og-l-ok { border-left-color: #5cb85c; }
.og-check.og-l-warn { border-left-color: #f0ad4e; }
.og-check.og-l-bad { border-left-color: #d9534f; }
.og-check.og-l-info { border-left-color: #5bc0de; }
.og-check-name { flex: none; width: 150px; font-weight: bold; color: #2c3e50; }
.og-check-msg { flex: 1; min-width: 0; word-break: break-all; }
.og-check-group { font-size: 12px; font-weight: bold; color: #777; margin: 12px 0 4px; }

.og-table { width: 100%; border-collapse: collapse; font-size: 13px; }
.og-table td { padding: 6px 10px; border: 1px solid #ddd; vertical-align: top; word-break: break-all; }
.og-table td:first-child { white-space: nowrap; width: 170px; background: #fafafa; color: #2c3e50; font-family: monospace; }

@media (max-width: 600px) {
	.og-form input.form-control { max-width: 100%; }
	.og-check { flex-direction: column; gap: 2px; }
	.og-check-name { width: auto; }
	.og-table td:first-child { width: auto; white-space: normal; }
}
