.pdf-diff-panel { margin: 1.5rem 0; padding: clamp(1rem, 3vw, 1.5rem); background: #fff; border: 1px solid #d6e3df; border-radius: 1rem; }
.pdf-diff-files { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }
.pdf-diff-drop { min-width: 0; padding: 1rem; border: 2px dashed #8ab7af; border-radius: .75rem; background: #f7fbfa; }
.pdf-diff-drop.is-dragging { background: #e1f5f0; border-color: #146b63; }
.pdf-diff-drop label { display: block; font-weight: 700; }
.pdf-diff-drop input { max-width: 100%; }
.pdf-diff-drop p, .pdf-diff-summary p, .pdf-diff-detail p { overflow-wrap: anywhere; }
.pdf-diff-options, .pdf-diff-actions { display: flex; flex-wrap: wrap; gap: .75rem; align-items: center; margin: 1rem 0; }
.pdf-diff-options label, .pdf-diff-filter { display: inline-flex; gap: .3rem; align-items: center; }
.pdf-diff-error { color: #a32929; font-weight: 700; }
.pdf-diff-summary { padding: 1rem; border-radius: .75rem; background: #f1f8f6; }
.pdf-diff-list { display: grid; gap: .75rem; margin: 1rem 0; }
.pdf-diff-page { min-width: 0; padding: 1rem; border: 1px solid #d6e3df; border-radius: .75rem; }
.pdf-diff-page h3 { margin: 0; }
.pdf-diff-detail { max-height: 34rem; overflow: auto; margin-top: 1rem; border-top: 1px solid #d6e3df; }
.pdf-diff-detail p { margin: .4rem 0; white-space: pre-wrap; }
.pdf-diff-removed { background: #fff0ee; }
.pdf-diff-added { background: #eaf8ef; }
.pdf-diff-inline { background: #ffe095; color: #252525; }
.pdf-diff-numbers { font-weight: 700; }
.pdf-diff-panel button:focus-visible, .pdf-diff-panel input:focus-visible { outline: 3px solid #115fd1; outline-offset: 2px; }
@media (max-width: 640px) { .pdf-diff-files { grid-template-columns: minmax(0, 1fr); } }
