/* journals.css - extracted from mesh-PO_sheet.html */

body.is-journals #jePostTop { display: inline-flex !important; }
.je-post-top { padding: 5px 11px 5px 9px; }
.je-post-top:disabled { background: #c7d2fe; cursor: not-allowed; }
.je-hero { background: white; border-bottom: 1px solid #e5e7eb; padding: 16px 24px; display: flex; align-items: center; justify-content: space-between; flex-shrink: 0; }
.je-hero-text { display: flex; flex-direction: column; gap: 2px; }
.je-hero-title { font-size: 15px; font-weight: 700; color: #111827; }
.je-hero-sub { font-size: 12px; color: #9ca3af; }
.je-hero-actions { display: flex; align-items: center; gap: 8px; }
.je-stats { background: white; border-bottom: 1px solid #e5e7eb; padding: 10px 24px; display: flex; align-items: center; gap: 24px; flex-shrink: 0; }
.je-stat { display: flex; align-items: baseline; gap: 6px; }
.je-stat-label { font-size: 10px; font-weight: 600; color: #9ca3af; text-transform: uppercase; letter-spacing: 0.04em; }
.je-stat-val { font-size: 15px; font-weight: 700; color: #111827; font-variant-numeric: tabular-nums; }
.je-stat-val.green { color: #16a34a; }
.je-stat-val.blue { color: #4f6ef7; }
.je-stat-val.orange { color: #d97706; }
.je-stat-val.red { color: #dc2626; }
.je-stat-divider { width: 1px; height: 22px; background: #e5e7eb; }
.je-toolbar { background: white; border-bottom: 1px solid #e5e7eb; padding: 8px 24px; display: flex; align-items: center; gap: 8px; flex-shrink: 0; flex-wrap: wrap; }
.je-tool-btn { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: 6px; border: 1px solid #e5e7eb; background: white; font-size: 12px; color: #374151; cursor: pointer; font-weight: 500; transition: background 0.1s, border-color 0.1s; }
.je-tool-btn:hover { background: #f9fafb; }
.je-tool-btn.primary { background: #4f6ef7; color: white; border-color: #4f6ef7; }
.je-tool-btn.primary:hover { background: #3d5ce8; border-color: #3d5ce8; }
.je-tool-btn.primary:disabled { background: #c7d2fe; border-color: #c7d2fe; cursor: not-allowed; }
.je-tool-btn.selected-action { background: #eff6ff; color: #3730a3; border-color: #c7d2fe; }
.je-filter-sep { width: 1px; height: 18px; background: #e5e7eb; }
.je-toolbar-right { margin-left: auto; display: flex; align-items: center; gap: 8px; }
.je-filter-select { padding: 5px 8px; border: 1px solid #e5e7eb; border-radius: 6px; font-size: 12px; color: #374151; background: white; cursor: pointer; outline: none; font-family: inherit; }
.je-filter-select:focus { border-color: #4f6ef7; }
.je-filter-label { font-size: 11px; color: #9ca3af; font-weight: 500; }
.je-select-bar { display: none; background: #eff6ff; border-bottom: 1px solid #c7d2fe; padding: 7px 24px; flex-shrink: 0; align-items: center; gap: 10px; }
.je-select-bar.on { display: flex; }
.je-select-count { font-size: 12px; font-weight: 600; color: #3730a3; }
.je-content { flex: 1; overflow-y: auto; overflow-x: hidden; }
.je-empty { padding: 40px 24px; text-align: center; color: #9ca3af; font-size: 12px; }
.je-group-header { background: #f3f4f6; border-bottom: 1px solid #e5e7eb; border-top: 1px solid #e5e7eb; padding: 7px 24px; display: flex; align-items: center; gap: 10px; position: sticky; top: 0; z-index: 6; }
.je-group-label { font-size: 11px; font-weight: 700; color: #374151; text-transform: uppercase; letter-spacing: 0.05em; }
.je-group-meta { font-size: 11px; color: #9ca3af; }
.je-group-amount { margin-left: auto; font-size: 12px; font-weight: 700; color: #111827; }
.je-card { background: white; border-bottom: 1px solid #e5e7eb; transition: background 0.1s; }
.je-card.selected { background: #f8f9ff; }
.je-card.expanded { background: #fafbff; }
.je-card.expanded .je-info-row { background: #f3f5ff; }
.je-card.expanded .je-line-tbl thead th { background: #f3f5ff; }
.je-card-row { display: flex; align-items: center; gap: 12px; padding: 11px 24px; cursor: pointer; user-select: none; }
.je-checkbox { width: 16px; height: 16px; border-radius: 4px; border: 1.5px solid #d1d5db; background: white; flex-shrink: 0; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.12s; }
.je-checkbox.on { background: #4f6ef7; border-color: #4f6ef7; }
.je-checkbox.on::after { content: ''; display: block; width: 9px; height: 5px; border-left: 2px solid white; border-bottom: 2px solid white; transform: rotate(-45deg) translate(0px,-1px); }
.je-expand { font-size: 9px; color: #9ca3af; transition: transform 0.15s; flex-shrink: 0; width: 10px; }
.je-card.expanded .je-expand { transform: rotate(90deg); }
.je-id { font-family: 'SF Mono','Menlo','Consolas',monospace; font-size: 11px; font-weight: 700; color: #374151; min-width: 70px; }
.je-vendor { font-size: 13px; font-weight: 600; color: #111827; min-width: 140px; }
.je-meta-block { display: flex; align-items: center; gap: 12px; flex: 1; min-width: 0; overflow: hidden; }
.je-meta { font-size: 11px; color: #9ca3af; white-space: nowrap; }
.je-meta strong { color: #6b7280; font-weight: 500; }
.je-memo { font-size: 11px; color: #9ca3af; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.je-amount { font-size: 13px; font-weight: 700; color: #111827; min-width: 96px; text-align: right; font-variant-numeric: tabular-nums; }
.je-status-cell { min-width: 92px; display: flex; justify-content: flex-end; }
.je-pill { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 500; white-space: nowrap; }
.je-pill-draft { background: #f3f4f6; color: #6b7280; border: 1px solid #e5e7eb; }
.je-pill-posting { background: #eff6ff; color: #4f6ef7; border: 1px solid #bfdbfe; }
.je-pill-posted { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.je-pill-failed { background: #fef2f2; color: #dc2626; border: 1px solid #fca5a5; }
.je-card-body { display: none; border-top: 1px solid #f3f4f6; }
.je-card.expanded .je-card-body { display: block; }
.je-line-tbl { width: 100%; border-collapse: collapse; font-size: 12px; }
.je-line-tbl thead th { background: #fafafa; border-bottom: 1px solid #e5e7eb; padding: 7px 12px 7px 0; text-align: left; color: #9ca3af; font-weight: 500; font-size: 10.5px; text-transform: uppercase; letter-spacing: 0.04em; white-space: nowrap; }
.je-line-tbl thead th:first-child { padding-left: 60px; }
.je-line-tbl thead th.num { text-align: right; padding-right: 24px; }
.je-line-tbl tbody td { padding: 9px 12px 9px 0; border-bottom: 1px solid #f3f4f6; color: #374151; vertical-align: middle; }
.je-line-tbl tbody td:first-child { padding-left: 60px; }
.je-line-tbl tbody tr:last-child td { border-bottom: none; }
.je-line-tbl td.num { text-align: right; padding-right: 24px; font-family: 'SF Mono','Menlo','Consolas',monospace; font-variant-numeric: tabular-nums; }
.je-line-tbl td.debit-val { font-weight: 600; color: #111827; }
.je-line-tbl td.credit-val { color: #6b7280; }
.je-dr-tag { font-size: 10px; font-weight: 700; color: #4f6ef7; background: #eff6ff; border-radius: 3px; padding: 1px 5px; }
.je-cr-tag { font-size: 10px; font-weight: 700; color: #9ca3af; background: #f3f4f6; border-radius: 3px; padding: 1px 5px; }
.je-acc-code { font-size: 11px; color: #9ca3af; font-family: 'SF Mono','Menlo','Consolas',monospace; margin-right: 4px; }
.je-poref { font-size: 11px; color: #4f6ef7; cursor: pointer; }
.je-poref:hover { text-decoration: underline; }
.je-source-meta { margin-left: auto; display: inline-flex; align-items: center; gap: 8px; font-size: 11px; color: #6b7280; flex-wrap: wrap; justify-content: flex-end; }
.je-source-meta .je-source-sep { color: #d1d5db; }
.je-source-meta .je-source-val { color: #374151; }
.je-split-acc { width: 100%; padding: 5px 8px; border: 1px solid #d1d5db; border-radius: 5px; font-size: 11.5px; color: #374151; background: white; outline: none; font-family: inherit; cursor: pointer; }
.je-split-acc:focus { border-color: #4f6ef7; box-shadow: 0 0 0 2px rgba(79,110,247,0.12); }
.je-split-amt { width: 110px; padding: 5px 8px; border: 1px solid #d1d5db; border-radius: 5px; font-size: 11.5px; font-family: 'SF Mono','Menlo','Consolas',monospace; text-align: right; color: #111827; font-weight: 600; background: white; outline: none; font-variant-numeric: tabular-nums; }
.je-split-amt:focus { border-color: #4f6ef7; box-shadow: 0 0 0 2px rgba(79,110,247,0.12); }
.je-split-amt.is-residual { background: #fafbff; color: #6b7280; }
.je-split-amt.is-error { border-color: #fca5a5; background: #fef2f2; color: #dc2626; }
.je-split-rm { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1px solid #e5e7eb; background: white; color: #9ca3af; border-radius: 4px; font-size: 11px; cursor: pointer; padding: 0; margin-left: 6px; }
.je-split-rm:hover { color: #dc2626; border-color: #fca5a5; background: #fef2f2; }
.je-balance-badge { display: inline-flex; align-items: center; gap: 4px; padding: 2px 8px; border-radius: 4px; font-size: 10.5px; font-weight: 600; vertical-align: middle; }
.je-balance-badge.ok { background: #f0fdf4; color: #16a34a; border: 1px solid #bbf7d0; }
.je-balance-badge.warn { background: #fef2f2; color: #dc2626; border: 1px solid #fca5a5; }
.je-split-actions-row td { padding: 9px 24px 9px 0 !important; border-bottom: none !important; background: #fafbff; }
.je-split-actions-row td:first-child { padding-left: 60px !important; }
.je-split-actions { display: flex; align-items: center; gap: 10px; justify-content: flex-end; }
.je-split-actions-spacer { flex: 1; }
.je-info-row { display: flex; align-items: center; gap: 12px; padding: 10px 24px; border-bottom: 1px solid #f3f4f6; background: #fafafa; }
.je-info-row .je-source-meta { margin-left: 0; justify-content: flex-start; flex: 1; }
.je-info-action { margin-left: auto; flex-shrink: 0; }
.je-err-banner { padding: 8px 24px; background: #fef2f2; color: #dc2626; font-size: 11.5px; font-weight: 500; border-bottom: 1px solid #fca5a5; }
.je-split-save-btn { display: inline-flex; align-items: center; gap: 4px; padding: 4px 11px; border: none; background: #4f6ef7; color: white; border-radius: 4px; font-size: 11px; font-weight: 600; cursor: pointer; transition: background 0.12s; font-family: inherit; }
.je-split-save-btn:hover:not(:disabled) { background: #3d5ce8; }
.je-split-save-btn:disabled { background: #c7d2fe; cursor: not-allowed; }
.je-split-cancel-btn { display: inline-flex; align-items: center; gap: 4px; padding: 4px 11px; border: 1px solid #e5e7eb; background: white; color: #374151; border-radius: 4px; font-size: 11px; font-weight: 500; cursor: pointer; font-family: inherit; }
.je-split-cancel-btn:hover { background: #f9fafb; border-color: #d1d5db; }
.je-dirty-dot { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: #f59e0b; margin-right: 6px; vertical-align: middle; }
.je-add-here { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border: 1px dashed #c7d2fe; background: white; color: #4f6ef7; border-radius: 4px; cursor: pointer; padding: 0; margin-left: 6px; font-size: 13px; line-height: 1; opacity: 0; transition: opacity 0.12s; }
.je-add-here:hover { background: #eff6ff; border-style: solid; }
.je-dr-row:hover .je-add-here.is-last { opacity: 1; }
.je-card-footer { padding: 11px 24px 13px 24px; display: flex; align-items: center; gap: 10px; border-top: 1px solid #f3f4f6; }
.je-post-btn { display: inline-flex; align-items: center; gap: 5px; padding: 6px 14px; border-radius: 6px; font-size: 12px; font-weight: 600; background: #4f6ef7; color: white; border: none; cursor: pointer; transition: background 0.12s; }
.je-post-btn:hover:not(:disabled) { background: #3d5ce8; }
.je-post-btn:disabled { background: #c7d2fe; cursor: not-allowed; }
.je-post-btn.is-posted { background: #16a34a; cursor: default; }
.je-post-btn.is-failed { background: #dc2626; }
.je-post-dest { font-size: 11px; color: #9ca3af; }
.je-error-note { font-size: 11px; color: #dc2626; display: inline-flex; align-items: center; gap: 4px; }
.je-posting-prog { display: inline-flex; align-items: center; gap: 8px; }
.je-posting-bar-wrap { width: 88px; height: 3px; background: #e5e7eb; border-radius: 3px; overflow: hidden; }
.je-posting-bar { height: 100%; background: #4f6ef7; border-radius: 3px; transition: width 0.3s; }
