/* Admin > Jenggala Journal — V21.50 additions.

   Loaded after admin-journal-v2146.css, which still supplies the panel, the
   editor grid and the article rows. Everything here is new furniture: the
   formatting toolbar, the media picker, bulk actions, the featured control,
   the scheduled badge, the views chart, and the preview stage. */

/* ------------------------------------------------------------------ notice */

.journal-legacy2150 {
  margin: 0 0 18px;
  padding: 12px 16px;
  border-left: 3px solid var(--ui-brass, #a88750);
  background: rgba(168, 135, 80, .08);
  font-size: .86rem;
  line-height: 1.6;
}

.journal-admin2150 .journal-stats2146 { grid-template-columns: repeat(auto-fit, minmax(140px, 1fr)); }

/* ----------------------------------------------------------------- toolbar */

.journal-body-field2150 > span { display: block; }

.journal-toolbar2150 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: 6px 0 0;
  padding: 8px;
  border: 1px solid var(--admin-line, #e2dcd2);
  border-bottom: 0;
  background: var(--admin-surface-2, #f7f4ee);
}

.journal-toolbar-tools2150 {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.journal-tool2150 {
  min-width: 34px;
  padding: 6px 10px;
  border: 1px solid transparent;
  border-radius: 3px;
  background: transparent;
  color: var(--admin-ink, #262119);
  font: inherit;
  font-size: .82rem;
  line-height: 1;
  cursor: pointer;
  transition: background .18s ease, border-color .18s ease;
}

.journal-tool2150:hover {
  border-color: var(--admin-line, #e2dcd2);
  background: #fff;
}

.journal-tool2150.is-bold { font-weight: 700; }
.journal-tool2150.is-italic { font-style: italic; }

.journal-toolbar-count2150 {
  font-size: .76rem;
  color: var(--admin-muted, #6d665b);
  white-space: nowrap;
}

.journal-body-field2150 textarea {
  border-radius: 0;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: .86rem;
  line-height: 1.7;
}

.journal-body-field2150 > small {
  white-space: pre-line;
  line-height: 1.7;
}

/* ---------------------------------------------------------------- autosave */

.journal-autosave2150 {
  font-size: .74rem;
  color: var(--admin-muted, #6d665b);
}

.journal-recover2150 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  margin: 12px 0 0;
  padding: 10px 14px;
  border-left: 3px solid var(--ui-brass, #a88750);
  background: rgba(168, 135, 80, .1);
  font-size: .86rem;
}

.journal-recover2150 span { flex: 1 1 260px; }

.journal-schedule-note2150 {
  margin: 12px 0 0;
  padding: 10px 14px;
  border-left: 3px solid #4c6b8a;
  background: rgba(76, 107, 138, .1);
  font-size: .86rem;
  line-height: 1.6;
}

/* ---------------------------------------------------------------- featured */

.journal-featured2150 {
  padding: 14px;
  border: 1px solid var(--admin-line, #e2dcd2);
  background: var(--admin-surface-2, #f7f4ee);
}

.journal-featured2150 > label {
  display: flex;
  align-items: center;
  gap: 10px;
  cursor: pointer;
}

.journal-featured2150 > label input { width: 16px; height: 16px; }

.journal-featured2150 small {
  display: block;
  margin-top: 8px;
  color: var(--admin-muted, #6d665b);
  font-size: .78rem;
  line-height: 1.6;
}

.journal-featured-rank2150 {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-top: 10px;
  font-size: .8rem;
}

.journal-featured-rank2150 input { width: 88px; }

.journal-featured-tag2150 {
  color: var(--ui-brass, #a88750);
  font-weight: 600;
}

.journal-status2146.is-scheduled {
  background: rgba(76, 107, 138, .14);
  color: #3c5a78;
}

/* ------------------------------------------------------------ bulk actions */

.journal-bulk2150 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin-bottom: 14px;
  padding: 10px 12px;
  border: 1px solid var(--admin-line, #e2dcd2);
  background: var(--admin-surface-2, #f7f4ee);
}

.journal-bulk2150.is-active {
  border-color: var(--ui-brass, #a88750);
  background: rgba(168, 135, 80, .08);
}

.journal-bulk-all2150 {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-right: auto;
  font-size: .82rem;
  cursor: pointer;
}

.journal-bulk-all2150 input { width: 16px; height: 16px; }

.journal-bulk2150 .table-action:disabled { opacity: .4; cursor: not-allowed; }

.journal-row-pick2150 {
  display: flex;
  align-items: center;
  padding-right: 4px;
  cursor: pointer;
}

.journal-row-pick2150 input { width: 16px; height: 16px; }

.journal-row2146.is-selected {
  background: rgba(168, 135, 80, .07);
  box-shadow: inset 3px 0 0 var(--ui-brass, #a88750);
}

/* ------------------------------------------------------------ media picker */

.journal-picker2150 {
  position: fixed;
  inset: 0;
  z-index: 60;
  display: grid;
  place-items: center;
  padding: 20px;
  background: rgba(23, 21, 18, .55);
}

.journal-picker-panel2150 {
  display: flex;
  flex-direction: column;
  width: min(980px, 100%);
  max-height: min(78vh, 720px);
  background: var(--admin-surface, #fff);
  border: 1px solid var(--admin-line, #e2dcd2);
}

.journal-picker-panel2150 > header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 14px 18px;
  border-bottom: 1px solid var(--admin-line, #e2dcd2);
}

.journal-picker-panel2150 > header input {
  flex: 1 1 200px;
  min-width: 0;
}

.journal-picker-grid2150 {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 12px;
  padding: 18px;
  overflow: auto;
}

.journal-picker-item2150 {
  display: block;
  padding: 0;
  border: 1px solid var(--admin-line, #e2dcd2);
  background: var(--admin-surface-2, #f7f4ee);
  color: inherit;
  font: inherit;
  text-align: left;
  cursor: pointer;
  transition: border-color .18s ease;
}

.journal-picker-item2150:hover { border-color: var(--ui-brass, #a88750); }

.journal-picker-item2150 img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  display: block;
}

.journal-picker-item2150 span {
  display: block;
  padding: 8px 10px;
  font-size: .74rem;
  line-height: 1.4;
  color: var(--admin-muted, #6d665b);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.journal-picker-empty2150 {
  padding: 40px 18px;
  text-align: center;
  color: var(--admin-muted, #6d665b);
}

/* ------------------------------------------------------------------- chart */

.journal-chart2150 {
  margin: 0 0 22px;
  padding: 16px 18px;
  border: 1px solid var(--admin-line, #e2dcd2);
  background: var(--admin-surface-2, #f7f4ee);
}

.journal-chart-head2150 {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 14px;
  font-size: .82rem;
}

.journal-chart-head2150 span { color: var(--admin-muted, #6d665b); }

.journal-chart-bars2150 {
  display: flex;
  align-items: flex-end;
  gap: 3px;
  height: 108px;
}

.journal-chart-bar2150 {
  flex: 1 1 0;
  min-width: 4px;
  background: var(--ui-brass, #a88750);
  transition: background .18s ease;
}

.journal-chart-bar2150.is-empty { background: var(--admin-line, #e2dcd2); }
.journal-chart-bar2150:hover { background: var(--ui-ink, #171512); }

.journal-chart-axis2150 {
  display: flex;
  justify-content: space-between;
  margin-top: 8px;
  font-size: .72rem;
  color: var(--admin-muted, #6d665b);
}

/* ----------------------------------------------------------------- preview */

.journal-preview-head2150 {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.journal-preview-head2150 h3 { margin: 0; }

.journal-preview-toggle2150 { display: flex; gap: 4px; }

.journal-preview-toggle2150 button {
  padding: 6px 14px;
  border: 1px solid var(--admin-line, #e2dcd2);
  background: transparent;
  color: var(--admin-muted, #6d665b);
  font: inherit;
  font-size: .78rem;
  cursor: pointer;
}

.journal-preview-toggle2150 button.is-active {
  border-color: var(--ui-brass, #a88750);
  background: #fff;
  color: var(--admin-ink, #262119);
}

.journal-preview-stage2150 { margin-top: 16px; }

.journal-preview-stage2150.is-mobile {
  width: 390px;
  max-width: 100%;
  margin-inline: auto;
  padding: 20px;
  border: 1px solid var(--admin-line, #e2dcd2);
  background: #fff;
}

/* ------------------------------------------------------------------ mobile */

@media (max-width: 720px) {
  .journal-toolbar2150 { justify-content: flex-start; }
  .journal-bulk2150 .table-action { flex: 1 1 calc(50% - 8px); }
  .journal-chart-bars2150 { height: 84px; }
}
