/* Vue « Journal » */
.journal-filters { display: grid; grid-template-columns: minmax(180px, 1fr) minmax(200px, 1.2fr) 160px 160px auto; gap: var(--s-3); align-items: end; margin-bottom: var(--s-4); padding: var(--s-4); border: 1px solid var(--line); border-radius: var(--r-lg); background: var(--card); }
.journal-filters .field { margin: 0; }
.journal-filters__quick { display: flex; gap: var(--s-2); flex-wrap: wrap; align-items: center; min-height: var(--control-h); }
.journal-summary { color: var(--ink-2); font-size: var(--fs-sm); }

.journal-diff { list-style: none; margin: 0; padding: 0; border: 1px solid var(--line); border-radius: var(--r); background: var(--card); }
.journal-diff__line { display: grid; grid-template-columns: 150px 1fr; gap: var(--s-3); padding: var(--s-2) var(--s-3); border-bottom: 1px solid var(--line); font-size: var(--fs-sm); }
.journal-diff__line:last-child { border-bottom: 0; }
.journal-diff__key { color: var(--muted); font-weight: 600; }
.journal-diff__val { color: var(--ink); min-width: 0; overflow-wrap: anywhere; }
.journal-diff__from { color: var(--muted); text-decoration: line-through; }
.journal-diff__arrow { margin: 0 var(--s-2); color: var(--muted); }
.journal-diff__to { font-weight: 600; }

@media (max-width: 1180px) {
  .journal-filters { grid-template-columns: 1fr 1fr; }
  .journal-filters__quick { grid-column: 1 / -1; }
}
@media (max-width: 900px) {
  .journal-filters { grid-template-columns: 1fr; }
  .journal-diff__line { grid-template-columns: 1fr; gap: var(--s-1); }
}
