.achwpa-wrap { max-width: 1180px; }
.achwpa-run-form { margin: 20px 0; }
.achwpa-summary { display: flex; flex-wrap: wrap; gap: 12px; margin: 18px 0; }
.achwpa-summary > div { min-width: 120px; padding: 12px 14px; background: #fff; border: 1px solid #dcdcde; border-radius: 4px; }
.achwpa-summary strong, .achwpa-summary span { display: block; }
.achwpa-summary span { margin-top: 4px; font-size: 18px; }
.achwpa-finding { margin: 12px 0; padding: 16px; background: #fff; border: 1px solid #dcdcde; border-left-width: 4px; }
.achwpa-finding header { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.achwpa-badge { display: inline-block; min-width: 64px; text-align: center; padding: 3px 8px; border-radius: 3px; font-weight: 600; }
.achwpa-level-pass { border-left-color: #00a32a; }
.achwpa-level-info { border-left-color: #72aee6; }
.achwpa-level-review { border-left-color: #dba617; }
.achwpa-level-warning { border-left-color: #d63638; }
.achwpa-badge.achwpa-level-pass { background: #edfaef; }
.achwpa-badge.achwpa-level-info { background: #f0f6fc; }
.achwpa-badge.achwpa-level-review { background: #fcf9e8; }
.achwpa-badge.achwpa-level-warning { background: #fcf0f1; }
.achwpa-finding pre { display: block; max-height: 360px; overflow: auto; white-space: pre-wrap; word-break: break-word; line-height: 1.5; padding: 12px; background: #f6f7f7; border: 1px solid #dcdcde; }
.achwpa-run-form label { display: block; margin-bottom: 6px; }
.achwpa-run-form input[type="number"] { width: 130px; margin-right: 8px; }
.achwpa-budget-presets { margin: 10px 0 14px; display: flex; gap: 8px; flex-wrap: wrap; }
.achwpa-progress-panel { max-width: 760px; margin: 20px 0; padding: 18px; background: #fff; border: 1px solid #dcdcde; border-radius: 4px; }
.achwpa-progress-heading { display: flex; justify-content: space-between; gap: 16px; margin-bottom: 10px; }
.achwpa-progress-track { height: 16px; overflow: hidden; background: #dcdcde; border-radius: 999px; }
.achwpa-progress-track > span { display: block; height: 100%; background: #2271b1; transition: width .2s ease; }
.achwpa-progress-current { margin: 12px 0 2px; font-weight: 600; }
.achwpa-progress-detail { margin: 2px 0 12px; color: #50575e; }
.achwpa-stage-list { display: grid; grid-template-columns: repeat(auto-fit,minmax(145px,1fr)); gap: 6px 14px; margin: 0; padding-left: 22px; }
.achwpa-stage-list li { margin: 0; color: #646970; }
.achwpa-stage-list li.is-active { color: #2271b1; font-weight: 600; }
.achwpa-stage-list li.is-done { color: #008a20; }

.achwpa-progress-track.is-indeterminate { position: relative; }
.achwpa-progress-track.is-indeterminate > span {
    position: relative;
    width: 35% !important;
    animation: achwpa-progress-indeterminate 1.1s ease-in-out infinite;
}
@keyframes achwpa-progress-indeterminate {
    0% { transform: translateX(-110%); }
    100% { transform: translateX(300%); }
}
.achwpa-stop-button { margin-left: 8px; }
.achwpa-stop-button:disabled { cursor: wait; }

.achwpa-traversal-fieldset { margin: 0 0 10px; padding: 12px 14px; max-width: 820px; border: 1px solid #dcdcde; background: #fff; }
.achwpa-traversal-fieldset legend { padding: 0 5px; }
.achwpa-traversal-fieldset label { display: block; margin: 8px 0; }
.achwpa-traversal-fieldset .description { margin-left: 6px; }
.achwpa-traversal-warning { max-width: 820px; margin: 10px 0 16px !important; padding: 9px 12px !important; }
.achwpa-progress-track.is-stopped > span { animation: none !important; transition: none !important; }
