.journal { margin-bottom: 24px; padding: 20px; border: 1px solid var(--line); border-radius: 14px; background: var(--panel); }
.journal h2 { font-size: 1.15rem; }
.journal h3 { margin: 18px 0 8px; font-size: 1rem; }
.journal p { font-size: .85rem; }
.journal summary { cursor: pointer; font-weight: 600; padding: 12px 0; }
.journal details { border-bottom: 1px solid var(--line); margin-bottom: 10px; }
.journal details > .journal-actions { padding-bottom: 14px; }
.journal-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; padding: 8px 0 14px; }
.journal-grid label { display: flex; flex-direction: column; gap: 5px; font-size: .82rem; }
.journal-grid .wide { grid-column: 1 / -1; }
.journal input:not([type=checkbox]), .journal select, .journal textarea { padding: 10px; border: 1px solid var(--line); border-radius: 6px; font: inherit; width: 100%; min-width: 0; background: var(--paper); color: var(--ink); }
.journal textarea { min-height: 85px; resize: vertical; }
.journal-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.journal-entry { border: 1px solid var(--line); border-radius: 8px; padding: 12px; margin: 8px 0; overflow-wrap: anywhere; }
.journal-entry-title { font-weight: 700; }
.journal-raw { white-space: pre-wrap; margin-top: 6px; }
.journal-entry a { font-size: .8rem; }
.journal [role=alert] { color: #a22d10; }
.journal-message { padding: 8px 0; }
.import-row { display: flex; gap: 10px; align-items: flex-start; padding: 9px 0; border-bottom: 1px solid var(--line); white-space: pre-wrap; overflow-wrap: anywhere; font-size: .85rem; }
.import-row input { margin-top: 5px; flex: 0 0 auto; }
#jPreview { max-height: 420px; overflow: auto; }
@media (max-width: 560px) { .journal { padding: 12px; } .journal-grid { grid-template-columns: 1fr; } }

.auth-banner { margin: 12px auto; max-width: 1160px; padding: 14px 20px; border: 1px solid var(--line); border-radius: 10px; background: var(--card, #fff); }
.auth-banner p { margin: 8px 0; font-size: .9rem; }
#authError { color: #a32c22; font-weight: 600; white-space: pre-wrap; }
.auth-banner [hidden] { display: none !important; }
