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

.sh-error { padding: 10px 12px; margin-bottom: 14px; border: 1px solid #ebccd1; background: #f2dede; color: #a94442; font-size: 13px; border-radius: 3px; }
.sh-summary { padding: 12px 14px; margin-bottom: 14px; border: 1px solid #ddd; background: #f5f5f5; font-size: 15px; font-weight: bold; border-radius: 3px; }
.sh-summary.sh-s-ok { background: #dff0d8; border-color: #d6e9c6; color: #3c763d; }
.sh-summary.sh-s-warn { background: #fcf8e3; border-color: #faebcc; color: #8a6d3b; }
.sh-summary.sh-s-bad { background: #f2dede; border-color: #ebccd1; color: #a94442; }
.sh-summary.sh-s-unknown { background: #eee; color: #555; }
.sh-counts { font-weight: normal; font-size: 13px; margin-top: 4px; }
.sh-jump { font-weight: normal; font-size: 13px; margin-top: 8px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.sh-jump-link { display: inline-block; padding: 1px 8px; border-radius: 10px; background: #fff; border: 1px solid #d0d7de; font-size: 12px; text-decoration: none; }
.sh-jump-link.sh-l-bad { border-color: #d9534f; color: #a94442; }
.sh-jump-link.sh-l-warn { border-color: #f0ad4e; color: #8a6d3b; }
.sh-copy { margin-top: 8px; font-weight: normal; }
.sh-stage:target { outline: 2px solid #1a5276; outline-offset: 2px; }

.sh-title { font-size: 14px; font-weight: bold; margin: 18px 0 8px; border-left: 4px solid #337ab7; padding-left: 8px; }

.sh-checklist { display: grid; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); gap: 6px 14px; }
.sh-check { display: flex; align-items: center; gap: 8px; padding: 5px 9px; border: 1px solid #e3e3e3; border-radius: 3px; font-size: 13px; background: #fff; }
.sh-mark { flex: none; width: 22px; text-align: center; font-weight: bold; }
.sh-mark.sh-l-ok { color: #3c763d; }
.sh-mark.sh-l-warn { color: #d58512; }
.sh-mark.sh-l-bad { color: #a94442; }
.sh-mark.sh-l-info { color: #31708f; }
.sh-mark.sh-l-skip { color: #999; }

.sh-stage { border: 1px solid #ddd; border-radius: 3px; margin-bottom: 12px; }
.sh-stage-head { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 12px; background: #fafafa; border-bottom: 1px solid #ddd; }
.sh-stage-name { font-weight: bold; color: #2c3e50; }
.sh-more { margin-left: auto; font-size: 12px; }
.sh-badge { display: inline-block; min-width: 56px; text-align: center; padding: 1px 8px; border-radius: 3px; font-size: 12px; font-weight: bold; }
.sh-badge.sh-l-ok { background: #dff0d8; color: #3c763d; }
.sh-badge.sh-l-warn { background: #fcf8e3; color: #8a6d3b; }
.sh-badge.sh-l-bad { background: #f2dede; color: #a94442; }
.sh-badge.sh-l-info { background: #d9edf7; color: #31708f; }
.sh-badge.sh-l-skip { background: #eee; color: #777; }
.sh-item { display: flex; gap: 8px; padding: 6px 12px; border-bottom: 1px solid #f0f0f0; font-size: 13px; }
.sh-item:last-child { border-bottom: 0; }
.sh-item-label { flex: none; width: 170px; font-weight: bold; color: #2c3e50; }
.sh-item-text { flex: 1; min-width: 0; word-break: break-all; }

.usage + ul ul, ul ul { margin-top: 6px; margin-bottom: 4px; }
ul ul li { font-size: 13px; margin-bottom: 4px; }

@media (max-width: 600px) {
	.sh-form input.form-control { max-width: 100%; }
	.sh-item { flex-direction: column; gap: 2px; }
	.sh-item-label { width: auto; }
}
