/* OC EFM — General ledger, Journals, Reports. */

.modal.xl { width: min(1080px, 96vw); max-height: 86vh; }
.jn-memo { max-width: 0; width: 44%; }
.jn-memo .jn-m, .jn-memo .sub { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }

/* The journal composer. */
.jc-head { display: grid; grid-template-columns: minmax(0, 1.3fr) 158px minmax(0, 2fr) 158px 110px; gap: 12px; margin-bottom: 14px; align-items: end; }
.jc-head .btn { width: 100%; }
.tbl td .who-nw { white-space: nowrap; }
.jc-lines { border: 1px solid var(--line); border-radius: 10px; border-collapse: separate; overflow: hidden; }
.jc-lines th { background: var(--sunken); }
.jc-lines td { height: auto; padding: 6px 6px; }
.jc-lines td:first-child, .jc-lines th:first-child { padding-left: 8px; }
.jc-lines td:last-child, .jc-lines th:last-child { padding-right: 8px; }
.jc-lines .input { width: 100%; height: 30px; font-size: 12.5px; }
.jc-lines .jc-acct { width: 27%; }
.jc-lines .jc-dr, .jc-lines .jc-cr { width: 12%; }
.jc-lines select.need { border-color: var(--warn-dot); box-shadow: 0 0 0 3px var(--warn-wash); }
.jc-foot { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; font-size: 13px; min-width: 0; }
.jc-tot { color: var(--ink-3); }
.jc-tot b { color: var(--ink); font-variant-numeric: tabular-nums; }
.jc-msg { color: var(--bad); font-size: 12.5px; max-width: 460px; }

/* Chart of accounts tree. */
.coa tr.grp td { background: var(--sunken); font-weight: 600; height: 34px; }
.coa td.acct { font-variant-numeric: tabular-nums; }

/* Reports. */
.rp-tools { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; margin-bottom: 16px; }
.rp-sheet { overflow-x: auto; }
.rp-check { display: flex; align-items: center; gap: 8px; padding: 12px 18px; border-top: 1px solid var(--line); font-size: 12.5px; color: var(--ink-3); }
.rp-check .ok { color: var(--good); font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.rp-check .no { color: var(--bad); font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
.rp-title { padding: 18px 18px 6px; }
.rp-title h2 { font: 600 17px/1.3 var(--display); letter-spacing: -.015em; }
.rp-title p { font-size: 12.5px; color: var(--ink-3); margin-top: 2px; }
@media print {
  .rp-tools, .banner { display: none !important; }
  .page { padding: 0 !important; }
}

.rp-ok { color: var(--good); font-weight: 600; display: inline-flex; align-items: center; gap: 5px; }
