/* Journal Entries */

.journal-entries-picker .field.is-grouped {
  align-items: flex-end;
}

/* Page header: ledger icon alongside title/subtitle */
.journal-page-header {
  display: flex;
  align-items: center;
  gap: var(--arp-space-4);
}

.journal-page-header-icon {
  width: 48px;
  height: 48px;
  border-radius: var(--arp-radius-lg);
  background: hsl(var(--bulma-info-h), var(--bulma-info-s), 94%);
  color: hsl(var(--bulma-info-h), var(--bulma-info-s), 30%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--bulma-size-5);
  flex-shrink: 0;
}

[data-theme="dark"] .journal-page-header-icon {
  background: hsl(var(--bulma-info-h), var(--bulma-info-s), 18%);
  color: hsl(var(--bulma-info-h), var(--bulma-info-s), 70%);
}

/* Picker box: card depth + header strip */
.box.journal-picker-box {
  background: var(--arp-surface-raised);
  border: 1px solid var(--arp-border);
  box-shadow: var(--arp-shadow-sm);
  overflow: hidden;
}

.journal-picker-header {
  margin: -1.25rem -1.25rem 1.25rem;
  padding: 0.875rem 1.25rem;
  display: flex;
  align-items: center;
  gap: var(--arp-space-2);
  background: #fafafa;
  border-bottom: 1px solid var(--arp-border-subtle);
  font-size: var(--bulma-size-medium);
  font-weight: 600;
  color: var(--arp-text-primary);
}

[data-theme="dark"] .journal-picker-header {
  background: #1a2332;
  border-color: var(--arp-gray-700);
}

.journal-picker-header .icon {
  color: var(--arp-text-muted);
}

/* Period header row: thin separator below title + download button */
.level.journal-period-header {
  border-bottom: 1px solid var(--bulma-border);
  padding-bottom: var(--arp-space-4);
  margin-bottom: var(--arp-space-6);
}

/* Account entry headings: left rule marks each ledger section */
.journal-entry-heading {
  padding-left: var(--arp-space-3);
  border-left: 3px solid var(--bulma-border);
}

/* Preview box: explicit backgrounds + border so depth is visible in both themes */
.journal-preview-box {
  background: var(--arp-surface-raised);
  border-radius: var(--arp-radius-lg);
  border: 1px solid var(--arp-border);
  box-shadow: var(--arp-shadow-sm);
}

/* Table card: rounded corners + soft shadow for depth */
.journal-entry-table-wrap {
  border-radius: var(--arp-radius-md);
  overflow: hidden;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08), 0 1px 2px rgba(0, 0, 0, 0.04);
  margin-bottom: var(--arp-space-1);
}

[data-theme="dark"] .journal-entry-table-wrap {
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.35), 0 1px 2px rgba(0, 0, 0, 0.25);
}

/* Table headers: small uppercase labels, like a real ledger sheet */
.journal-entries-table thead th {
  font-size: var(--bulma-size-small);
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: var(--bulma-text-weak);
  font-weight: 600;
}

/* Alternating row tint: barely-there stripe */
.journal-entries-table tbody tr:nth-child(even) td {
  background-color: var(--bulma-scheme-main-bis);
}

/* Currency cells: monospace for perfect decimal alignment */
.journal-entries-table td.has-text-right,
.journal-entries-table tfoot th.has-text-right {
  font-family: "SF Mono", "Fira Code", "Consolas", monospace;
  font-variant-numeric: tabular-nums;
}

/* Total row: classic accounting double-rule above the subtotal */
.journal-entries-total-row {
  background-color: var(--bulma-scheme-main-bis);
}

.journal-entries-total-row th {
  border-top: 3px double var(--bulma-border);
}

/* Empty state */
.journal-empty-state {
  text-align: center;
  padding: 3.5rem var(--arp-space-8);
}

.journal-empty-icon {
  width: 80px;
  height: 80px;
  margin: 0 auto var(--arp-space-5);
  border-radius: 50%;
  background: hsl(var(--bulma-info-h), var(--bulma-info-s), 94%);
  color: hsl(var(--bulma-info-h), var(--bulma-info-s), 30%);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: var(--bulma-size-3);
}

[data-theme="dark"] .journal-empty-icon {
  background: hsl(var(--bulma-info-h), var(--bulma-info-s), 18%);
  color: hsl(var(--bulma-info-h), var(--bulma-info-s), 70%);
}

.journal-empty-title {
  font-size: var(--bulma-size-5);
  font-weight: 600;
  color: var(--bulma-text);
  margin-bottom: 0.4rem;
}

.journal-empty-message {
  color: var(--bulma-text-weak);
}

/* Grand total: double-rule replaces the plain hr */
.journal-grand-total {
  border-top: 3px double var(--bulma-border);
  margin-top: var(--arp-space-6);
  padding-top: var(--arp-space-4);
}

.journal-grand-total strong {
  font-family: "SF Mono", "Fira Code", "Consolas", monospace;
  font-variant-numeric: tabular-nums;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}
