.journal-ledger{padding:0;overflow:hidden}
.journal-ledger table{width:100%;table-layout:fixed;border-collapse:collapse;min-width:850px}
.journal-ledger th,.journal-ledger td{padding:15px 18px;text-align:center;vertical-align:middle;font-size:12px;line-height:1.6;overflow-wrap:anywhere;border-bottom:1px solid var(--border)}
.journal-ledger th:first-child{width:13%}.journal-ledger th:nth-child(2){width:19%}.journal-ledger th:nth-child(3){width:18%}.journal-ledger th:nth-child(4){width:22%}
.journal-ledger thead{background:var(--panel);color:var(--muted)}
.journal-ledger tr[data-journal-event]{cursor:pointer}.journal-ledger tr[data-journal-event]:hover{background:var(--soft)}
.journal-ledger small{display:block;font-size:11px;color:var(--muted)}
.journal-summary{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;font-size:11px;color:var(--muted)}
.journal-open{display:inline-flex;align-items:center;gap:8px;margin-top:4px;padding:5px 0;border:0;box-shadow:none;background:none;color:var(--icon-accent,var(--accent));font-size:12px}
.journal-event-drawer{position:fixed;inset:0 0 0 auto;width:min(650px,100vw);height:100dvh;max-width:100vw;max-height:none;margin:0;padding:0;border:0;border-left:1px solid var(--border);border-radius:18px 0 0 18px;background:var(--panel);color:var(--text);box-shadow:-20px 0 55px #00151b40;overflow:hidden;animation:journal-drawer-in .2s ease-out}
.journal-event-drawer::backdrop{background:#00111775;backdrop-filter:blur(2px)}
.journal-event-drawer.is-closing{animation:journal-drawer-out .18s ease-in forwards}
.journal-drawer-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:24px;border-bottom:1px solid var(--border)}
.journal-drawer-header>div>span{font-size:11px;color:var(--muted)}
.journal-drawer-header h2{font-size:21px;margin:5px 0 0;line-height:1.4}
.journal-drawer-header button{display:grid;place-items:center;align-self:flex-start;width:28px;height:28px;padding:0;background:none;border:0;box-shadow:none;color:var(--muted);font-size:27px}
.journal-drawer-content{height:calc(100% - 105px);padding:20px 24px 32px;overflow:auto;display:flex;flex-direction:column;gap:18px}
.journal-detail-block{border:1px solid var(--border);border-radius:13px;overflow:hidden;flex:none}
.journal-detail-block h3{display:flex;align-items:center;justify-content:space-between;margin:0;padding:12px 15px;font-size:13px;background:var(--soft);color:var(--muted);border-bottom:1px solid var(--border)}
.journal-detail-block>p{margin:12px 15px;font-size:13px;line-height:1.7;overflow-wrap:anywhere}
.journal-detail-block dl{margin:0;padding:5px 15px}
.journal-detail-block dl>div{display:grid;grid-template-columns:38% minmax(0,1fr);gap:12px;padding:10px 0;border-bottom:1px solid var(--border);font-size:12px;line-height:1.6}
.journal-detail-block dl>div:last-child{border:0}.journal-detail-block dt{color:var(--muted)}.journal-detail-block dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.journal-changes-table{overflow:auto}.journal-changes-table table{width:100%;table-layout:fixed;border-collapse:collapse}
.journal-changes-table th,.journal-changes-table td{padding:12px;vertical-align:top;text-align:left;font-size:12px;line-height:1.65;border-bottom:1px solid var(--border);overflow-wrap:anywhere;white-space:pre-wrap}
.journal-changes-table thead th{color:var(--muted);font-size:11px}.journal-changes-table tbody td:last-child{color:var(--icon-accent,var(--accent));background:var(--soft)}
.journal-target-link{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:12px 15px;padding:10px;border:1px solid var(--border);border-radius:8px;font-size:12px;color:var(--icon-accent,var(--accent))}
.journal-reason{margin:12px 15px;padding:10px 12px;border-left:2px solid var(--accent);background:var(--soft);font-size:12px;line-height:1.7}.journal-reason span{color:var(--muted);font-size:11px}.journal-reason p{margin:4px 0 0;white-space:pre-wrap;overflow-wrap:anywhere}
.journal-detail-note{margin:0;color:var(--muted);font-size:12px;line-height:1.7}
@keyframes journal-drawer-in{from{transform:translateX(100%)}to{transform:none}}@keyframes journal-drawer-out{to{transform:translateX(100%)}}
@media(prefers-reduced-motion:reduce){.journal-event-drawer,.journal-event-drawer.is-closing{animation:none}}

.journal-event-drawer[open]{display:flex;flex-direction:column}.journal-drawer-header{flex:none}.journal-drawer-content{height:auto;min-height:0;flex:1}

/* One filter row, updated in place without a submit button. */
#journal-filters.journal-filters{display:grid;grid-template-columns:minmax(120px,.8fr) minmax(120px,.8fr) minmax(150px,1.1fr) minmax(140px,1fr) minmax(180px,1.4fr);gap:12px;align-items:end;padding:14px 16px;overflow-x:auto;max-width:100%;box-sizing:border-box;scrollbar-width:thin}
#journal-filters>label{display:flex;flex-direction:column;gap:6px;min-width:0;margin:0;font-size:11px;color:var(--muted)}
#journal-filters :is(input,select,.control-trigger){width:100%;min-width:0;height:36px;min-height:36px;box-sizing:border-box;padding:7px 10px;font-size:12px}
#journal-filters .custom-control{min-width:0;width:100%}
.journal-refresh-status{padding:9px 16px;margin:0;color:var(--muted);font-size:11px;border-bottom:1px solid var(--border)}
.journal-refresh-status[hidden],.journal-ledger [data-journal-empty][hidden]{display:none}
