.directory-comparison { padding: 24px; margin: 24px 0 32px; background: #f1f5f9; border: 1px solid #d4dee9; border-radius: 16px; }
.directory-comparison h2 { font-size: clamp(1.35rem, 3vw, 1.9rem); }
.directory-comparison p { max-width: 86ch; }
.directory-comparison .editorial-table-wrap { overflow-x: auto; max-width: 100%; }
.directory-comparison .editorial-data-table { min-width: 580px; }
.directory-comparison .editorial-data-table td, .directory-comparison .editorial-data-table th { width: auto; min-width: 140px; max-width: 370px; overflow-wrap: anywhere; }
.directory-comparison-actions { display: flex; flex-wrap: wrap; gap: 10px; margin: 16px 0; }
.directory-compare-choice { display: flex; align-items: center; gap: 10px; padding: 12px 0; cursor: pointer; font-size: .95rem; }
.directory-compare-choice input { width: 20px; height: 20px; accent-color: #a52236; }
.directory-compare-choice:has(input:disabled) { color: #657180; cursor: default; }
.directory-compare-choice:has(input:focus-visible) { outline: 3px solid #a52236; outline-offset: 4px; }
.acceptance-log { max-width: 1120px; }
.acceptance-toolbar { padding: 24px; background: #f1f5f9; border: 1px solid #d4dee9; border-radius: 16px; margin: 28px 0; }
.acceptance-log label { display: block; font-weight: 600; }
.acceptance-log input[type=text], .acceptance-log select, .acceptance-log textarea { display: block; border: 1px solid #8897a8; border-radius: 6px; padding: 10px 12px; background: #fff; color: #182d49; width: 100%; font: inherit; margin-top: 8px; }
.acceptance-log textarea { min-height: 108px; resize: vertical; }
.acceptance-log input:focus-visible, .acceptance-log select:focus-visible, .acceptance-log textarea:focus-visible { outline: 3px solid #a52236; outline-offset: 3px; }
.acceptance-actions { display: flex; flex-wrap: wrap; align-items: end; gap: 14px; margin-top: 18px; }
.acceptance-import { max-width: 100%; }
.acceptance-import input { display: block; max-width: 100%; font-size: .95rem; margin-top: 10px; }
.acceptance-summary { padding: 20px 24px; border-left: 5px solid #a52236; background: #f1f5f9; line-height: 1.7; }
.acceptance-outline ul { display: flex; flex-wrap: wrap; gap: 8px 24px; padding-left: 20px; }
.acceptance-group { margin-top: 42px; scroll-margin-top: 110px; }
.acceptance-group h2 { font-size: clamp(1.4rem, 3vw, 2rem); margin-bottom: 22px; }
.acceptance-group summary { cursor: pointer; padding: 16px 18px; background: #f1f5f9; border: 1px solid #d4dee9; border-radius: 8px; margin-bottom: 18px; }
.acceptance-group summary h2 { display: inline; margin: 0; font-size: clamp(1.25rem, 3vw, 1.65rem); }
.acceptance-group summary:focus-visible { outline: 3px solid #a52236; outline-offset: 3px; }
.acceptance-item { border: 1px solid #d4dee9; border-left: 5px solid #8897a8; border-radius: 10px; padding: 22px; margin-bottom: 18px; background: white; break-inside: avoid; }
.acceptance-item h3 { font-size: 1.15rem; line-height: 1.5; margin-bottom: 12px; }
.acceptance-item[data-state=issue] { border-left-color: #a52236; }
.acceptance-item[data-state=pass] { border-left-color: #216548; }
.acceptance-item[data-state=na] { border-left-color: #57697e; }
.acceptance-critical { display: inline-block; vertical-align: middle; background: #fff0f1; color: #852033; border: 1px solid #e4acb6; border-radius: 4px; font-size: .8rem; padding: 1px 8px; margin-left: 8px; }
.acceptance-fields { display: grid; grid-template-columns: minmax(160px, .65fr) minmax(240px, 2fr); gap: 22px; margin-top: 18px; }
.acceptance-print-note { display: none; }
[hidden] { display: none !important; }
@media (max-width: 600px) {
 .acceptance-toolbar, .directory-comparison, .acceptance-item { padding: 18px; }
 .acceptance-fields { grid-template-columns: minmax(0, 1fr); gap: 14px; }
 .acceptance-actions > * { width: 100%; }
 .acceptance-outline ul { display: block; }
 .acceptance-outline li { margin-bottom: 8px; }
}
@media print {
 .acceptance-fields { display: none !important; }
 .acceptance-print-note { display: block; white-space: pre-wrap; overflow-wrap: anywhere; }
 .acceptance-actions, .acceptance-outline, .site-header, .site-footer, .back-to-top, .directory-comparison-actions, [data-directory-comparison-clear] { display: none !important; }
 .acceptance-log, .acceptance-toolbar, .acceptance-item { max-width: none; padding: 10px; }
 .acceptance-item textarea { height: auto; min-height: 80px; }
 .acceptance-group { margin-top: 20px; }
 .acceptance-item { box-shadow: none; border-color: #888; }
}
