.rs-form { margin-bottom: 18px; }
.rs-form .form-group { margin-bottom: 12px; }
.rs-form label { display: block; font-size: 13px; font-weight: bold; margin-bottom: 4px; color: #2c3e50; }
.rs-form input.form-control, .rs-form select.form-control { max-width: 520px; }
.rs-form label.rs-check { display: flex; align-items: flex-start; gap: 6px; font-weight: normal; font-size: 14px; color: #333; cursor: pointer; }
.rs-form label.rs-check input { margin-top: 3px; flex: none; }
.rs-status { margin-left: 10px; font-size: 13px; color: #777; }

.rs-error { padding: 10px 12px; margin-bottom: 14px; border: 1px solid #ebccd1; background: #f2dede; color: #a94442; font-size: 13px; border-radius: 3px; word-break: break-all; }
.rs-summary { padding: 12px 14px; margin-bottom: 14px; border: 1px solid #ddd; background: #f5f5f5; border-radius: 3px; font-size: 13px; }
.rs-verdict { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-size: 16px; font-weight: bold; margin-bottom: 8px; }
.rs-title { font-size: 14px; font-weight: bold; margin: 18px 0 8px; border-left: 4px solid #337ab7; padding-left: 8px; }
.rs-note { font-size: 12px; color: #666; margin: 4px 0; }

/* 判定のバッジ。同じ表の中で幅をそろえるため、最も長い表記(判定不能)が入る幅にする */
.rs-badge { display: inline-block; box-sizing: border-box; width: 5.5em; flex: none; text-align: center; padding: 1px 4px; border-radius: 3px; font-size: 12px; font-weight: bold; white-space: nowrap; vertical-align: middle; }
.rs-badge.rs-l-ok { background: #dff0d8; color: #3c763d; }
.rs-badge.rs-l-info { background: #d9edf7; color: #31708f; }
.rs-badge.rs-l-warn { background: #fcf8e3; color: #8a6d3b; }
.rs-badge.rs-l-bad { background: #f2dede; color: #a94442; }
.rs-badge.rs-l-unknown { background: #e8dff5; color: #5b3a8c; }
.rs-badge.rs-l-skip { background: #eee; color: #666; }

/* ラベル|値 の表。ラベル欄は固定幅にしない */
.rs-kv { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rs-kv th, .rs-kv td { border: 1px solid #e3e3e3; padding: 5px 8px; vertical-align: top; text-align: left; }
.rs-kv td.rs-label { background: #fafafa; font-weight: bold; color: #2c3e50; white-space: nowrap; width: 1%; }
.rs-kv td.rs-value { word-break: break-all; }
.rs-value .copy-btn { margin-left: 6px; vertical-align: middle; }

/* 列の多い表 */
.rs-grid { width: 100%; border-collapse: collapse; font-size: 13px; margin-bottom: 8px; }
.rs-grid th, .rs-grid td { border: 1px solid #e3e3e3; padding: 5px 8px; vertical-align: top; text-align: left; }
.rs-grid th { background: #f5f5f5; white-space: nowrap; }
.rs-grid td { word-break: break-all; }
.rs-grid td.rs-num { white-space: nowrap; text-align: right; }

/* 区分 */
.rs-section { border: 1px solid #ddd; border-radius: 3px; margin-bottom: 12px; }
.rs-section-head { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 8px; padding: 8px 12px; background: #fafafa; border-bottom: 1px solid #ddd; }
.rs-section-name { font-weight: bold; color: #2c3e50; font-size: 14px; margin: 0; }
.rs-section-body { padding: 8px 12px; }
.rs-section:target { outline: 2px solid #1a5276; outline-offset: 2px; }

/* 判定の項目 */
.rs-items { list-style: none; margin: 0 0 8px; padding: 0; }
.rs-item { display: flex; align-items: flex-start; gap: 8px; padding: 6px 0; border-bottom: 1px solid #f0f0f0; font-size: 13px; }
.rs-item:last-child { border-bottom: 0; }
.rs-item-body { flex: 1; min-width: 0; word-break: break-all; }
.rs-item-title { font-weight: bold; color: #2c3e50; }
.rs-item-msg, .rs-item-reason, .rs-item-evidence, .rs-item-fix { margin-top: 2px; }
.rs-item-reason { color: #555; }
.rs-item-evidence { font-family: Consolas, Menlo, monospace; font-size: 12px; color: #444; }
.rs-item-fix { color: #31708f; }
.rs-priority .rs-item a { text-decoration: none; }

/* robots.txt の本文。折り返して、横にはみ出さない */
.rs-pre { white-space: pre-wrap; word-break: break-all; overflow-wrap: anywhere; background: #f8f8f8; border: 1px solid #e3e3e3; padding: 8px; font-size: 12px; max-height: 360px; overflow-y: auto; margin: 0 0 8px; }
.rs-pre .rs-ln { color: #999; user-select: none; }

@media (max-width: 600px) {
	.rs-form input.form-control, .rs-form select.form-control { max-width: 100%; }
	.rs-kv td.rs-label { width: auto; white-space: normal; word-break: keep-all; }
	/* 列の多い表は、各行を「ラベル|値」の縦並びにする */
	.rs-grid, .rs-grid tbody, .rs-grid tr, .rs-grid td { display: block; width: auto; }
	.rs-grid thead { display: none; }
	.rs-grid tr { border: 1px solid #e3e3e3; margin-bottom: 6px; }
	.rs-grid td { border: 0; border-bottom: 1px solid #f0f0f0; display: flex; gap: 8px; text-align: left; }
	.rs-grid td.rs-num { text-align: left; white-space: normal; }
	.rs-grid td::before { content: attr(data-label); flex: none; font-weight: bold; color: #2c3e50; word-break: keep-all; white-space: nowrap; }
	.rs-grid td > .rs-cell { flex: 1; min-width: 0; word-break: break-all; }
}
