.ej-page { min-width: 0; overflow-wrap: anywhere; }
/* «Журналы»: the tabs «Ошибки» / «Действия» stand apart from the filters. */
.blog-tabs + .ej-page { margin-top: 18px; }
.ej-filters { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 150px), 1fr)); gap: 16px; align-items: end; margin-bottom: 24px; }
.ej-filters .form-field { margin: 0; min-width: 0; }
.ej-filters button, .ej-page button, .ej-page summary { min-height: 44px; }
.ej-list { display: grid; gap: 16px; }
.ej-entry { min-width: 0; }
.ej-message { font-size: 17px; line-height: 1.5; font-weight: 600; margin: 16px 0; }
.ej-facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 160px), 1fr)); gap: 12px; margin: 16px 0; }
.ej-facts dt { color: var(--muted); font-size: 13px; }
.ej-facts dd { margin: 4px 0 0; font-variant-numeric: tabular-nums; }
.ej-sample { padding: 16px 0; border-top: 1px solid var(--line); }
.ej-sample pre { white-space: pre-wrap; overflow-wrap: anywhere; max-height: 320px; overflow: auto; font-size: 12px; }
.ej-page summary { cursor: pointer; padding: 12px 0; }
.ej-change { display: grid; grid-template-columns: minmax(100px, 1fr) minmax(100px, 2fr); gap: 12px; padding: 12px 0; border-top: 1px solid var(--line); }
.ej-actions { margin: 24px 0; }
.ej-error { color: var(--danger); }
.ej-warn, .ej-muted { color: var(--warn); }
@media (max-width: 480px) { .ej-facts { grid-template-columns: 1fr 1fr; } .ej-change { grid-template-columns: 1fr; } .ej-actions > button { flex: 1 1 100%; } }

.ej-badge { flex: none; display: inline-flex; align-items: center; min-height: 28px; padding: 4px 10px; border: 1px solid var(--line); border-radius: 999px; font-size: 12px; line-height: 1.4; white-space: nowrap; }
