/* ============================================================
   PENDING CHANGES — inline in document
   ============================================================ */

/* -- Section-level pending states -- */
.pending-section { position: relative; }
.pending-section.pending-edit {
    border-left: var(--indicator-changed);
    padding-left: 2px;
}
.pending-section.pending-new {
    border-left: var(--indicator-added);
    padding-left: 2px;
}
.pending-section.pending-new .section-inner { background: var(--diff-add-faint); }
.pending-section.pending-meta {
    border-left: var(--indicator-changed);
    padding-left: 2px;
}

/* -- Source-level pending states -- */
.pending-source { position: relative; }
.pending-source.pending-new {
    border-left: var(--indicator-added);
    padding: 18px 20px;
    background: var(--diff-add-faint);
    border-radius: var(--radius);
    border-bottom: none;
    margin-bottom: 8px;
}
.source-change-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0 2px;
    margin-top: 8px;
    border-top: 1px solid var(--doc-border-subtle);
}

/* -- Per-section accept/reject bar -- */
.section-change-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    padding: 8px 0 2px;
    margin-top: 8px;
    border-top: 1px solid var(--doc-border-subtle);
}
.change-bar-label {
    display: flex;
    align-items: flex-start;
    gap: 6px;
    font: 11px/1.5 var(--sans);
    color: var(--td3);
    min-width: 0;
    flex: 1;
}
.change-bar-actions {
    display: flex;
    gap: 10px;
    flex-shrink: 0;
}

/* -- Deleted section ghost -- */
.deleted-section-ghost {
    position: relative;
    border-left: var(--indicator-removed);
    padding-left: 2px;
    margin-bottom: 2px;
}
.deleted-section-ghost .section-inner {
    background: var(--diff-del-faint);
    border-radius: var(--radius);
    padding: 12px 20px;
}
.deleted-section-ghost .diff-del {
    background: var(--red-bg);
    color: var(--diff-del-body);
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}

/* -- Level / summary diffs (metadata_edit inline) -- */
.meta-level-diff,
.meta-summary-diff {
    padding: 4px 0 2px;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
    border-top: 1px solid var(--doc-border-subtle);
    margin-top: 4px;
    padding-top: 6px;
}
/* Level = state chip → sans; Summary = content field → serif italic like .meta-summary-input */
.meta-level-diff { font: 12px/1.5 var(--sans); color: var(--td2); }
.meta-summary-diff { font: italic 14px/1.7 var(--serif); color: var(--td3); }
.meta-level-diff .diff-add,
.meta-summary-diff .diff-add {
    background: var(--green-bg);
    color: var(--diff-add-body);
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}
.meta-level-diff .diff-del,
.meta-summary-diff .diff-del {
    background: var(--red-bg);
    color: var(--diff-del-body);
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}

/* -- Figure edit diff -- */
.figure-caption-diff,
.figure-content-diff {
    padding: 6px 0 2px;
    border-top: 1px solid var(--doc-border-subtle);
    margin-top: 4px;
    display: flex;
    align-items: baseline;
    gap: 6px;
    flex-wrap: wrap;
}
/* Caption = content field → serif like .doc-figure-caption; Content (tables/equations) stays sans */
.figure-caption-diff { font: 14px/1.6 var(--serif); color: var(--td3); }
.figure-content-diff { font: 12px/1.6 var(--sans); color: var(--td2); }
.figure-caption-diff .diff-add,
.figure-content-diff .diff-add {
    background: var(--green-bg);
    color: var(--diff-add-body);
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}
.figure-caption-diff .diff-del,
.figure-content-diff .diff-del {
    background: var(--red-bg);
    color: var(--diff-del-body);
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}
.diff-body-inline {
    font: 12px/1.6 var(--mono);
    white-space: pre-wrap;
    word-break: break-word;
}

/* -- Title diff (metadata_edit / document_edit) -- */
.meta-title-diff {
    flex: 1;
    min-width: 0;
}
.meta-diff-row {
    display: flex;
    align-items: baseline;
    gap: 8px;
    margin-bottom: 2px;
}
.meta-diff-row:last-child { margin-bottom: 0; }
.meta-diff-num {
    font-family: var(--sans);
    color: var(--td3);
    opacity: 0.5;
    flex-shrink: 0;
    font-variant-numeric: tabular-nums;
}
.meta-diff-row[data-level="1"] .meta-diff-num { font-size: 22px; font-weight: 300; }
.meta-diff-row[data-level="2"] .meta-diff-num { font-size: 17px; font-weight: 400; }
.meta-diff-row[data-level="3"] .meta-diff-num { font-size: 13px; font-weight: 600; }
.meta-old-title, .meta-new-title {
    font-family: var(--serif);
    border-radius: var(--radius-xs);
    padding: 2px 6px;
    white-space: pre-wrap;
    word-break: break-word;
    flex: 1;
    min-width: 0;
}
.meta-old-title {
    background: var(--red-bg);
    color: var(--diff-del-body);
}
.meta-new-title {
    background: var(--green-bg);
    color: var(--diff-add-body);
}
/* Match the real title sizing per level */
.meta-old-title[data-level="1"], .meta-new-title[data-level="1"] { font-size: 26px; font-weight: 300; line-height: 1.25; letter-spacing: -0.3px; }
.meta-old-title[data-level="2"], .meta-new-title[data-level="2"] { font-size: 23px; font-weight: 300; line-height: 1.3; }
.meta-old-title[data-level="3"], .meta-new-title[data-level="3"] { font-size: 20px; font-weight: 300; line-height: 1.35; }
/* Document title/abstract diff sizing */
.meta-old-title.doc-title-diff, .meta-new-title.doc-title-diff { font: 300 36px/1.2 var(--serif); letter-spacing: -0.5px; }
.meta-old-title.doc-desc-diff, .meta-new-title.doc-desc-diff { font: 400 15px/1.7 var(--serif); }

/* -- Inline word-level diff for title/abstract metadata -- */
.meta-inline-diff {
    font-family: var(--serif);
    color: var(--td1);
    white-space: pre-wrap;
    word-break: break-word;
    flex: 1;
    min-width: 0;
}
.meta-inline-diff[data-level="1"] { font-size: 26px; font-weight: 300; line-height: 1.25; letter-spacing: -0.3px; }
.meta-inline-diff[data-level="2"] { font-size: 23px; font-weight: 300; line-height: 1.3; }
.meta-inline-diff[data-level="3"] { font-size: 20px; font-weight: 300; line-height: 1.35; }
.doc-inline-diff { white-space: pre-wrap; word-break: break-word; color: var(--td1); }
.doc-inline-diff.doc-title-diff { font: 300 36px/1.2 var(--serif); letter-spacing: -0.5px; }
.doc-inline-diff.doc-desc-diff { font: 400 15px/1.7 var(--serif); margin-top: 12px; }
.meta-inline-diff .diff-add,
.doc-inline-diff .diff-add {
    background: var(--green-bg);
    color: inherit;
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}
.meta-inline-diff .diff-del,
.doc-inline-diff .diff-del {
    background: var(--red-bg);
    color: inherit;
    border-radius: var(--radius-2xs);
    padding: 0 2px;
}

/* -- Document pending-change overlay -- */
#doc-header-inner.doc-pending {
    border-radius: var(--radius);
}
.doc-meta-preview { min-width: 0; }
.doc-pending-title {
    font: 300 36px/1.2 var(--serif);
    letter-spacing: -0.5px;
    color: var(--td1);
    white-space: pre-wrap;
    word-break: break-word;
}
.doc-pending-desc {
    font: 400 15px/1.7 var(--serif);
    color: var(--td2);
    margin-top: 12px;
    white-space: pre-wrap;
    word-break: break-word;
}

/* ============================================================
   CHANGE TYPE BADGES
   ============================================================ */

.change-type-badge {
    font: 500 10px var(--sans);
    padding: 2px 7px;
    border-radius: var(--radius-xs);
    letter-spacing: 0.02em;
    flex-shrink: 0;
}
.change-type-badge.type-content_edit { background: var(--accent-dim); color: var(--accent-text); }
.change-type-badge.type-create_section { background: var(--green-bg); color: var(--diff-add-color); }
.change-type-badge.type-delete_section { background: var(--red-bg); color: var(--diff-del-color); }
.change-type-badge.type-metadata_edit { background: var(--accent-dim); color: var(--accent-text); }
.change-type-badge.type-document_edit { background: var(--accent-dim); color: var(--accent-text); }
.change-type-badge.type-source_add { background: var(--green-bg); color: var(--diff-add-color); }
/* Document-context badge overrides (light bg) */
#document-area .change-type-badge.type-content_edit,
#document-area .change-type-badge.type-metadata_edit,
#document-area .change-type-badge.type-document_edit { color: var(--doc-accent); }
#document-area .change-type-badge.type-create_section { color: var(--diff-add-body); }
#document-area .change-type-badge.type-delete_section { color: var(--diff-del-body); }
#document-area .change-type-badge.type-source_add { color: var(--diff-add-body); }

/* ============================================================
   PENDING BAR (above chat input)
   ============================================================ */

#pending-bar {
    border-top: 1px solid var(--chrome-border);
    background: var(--chrome-surface);
}
.pending-bar-inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 8px 14px;
}
.pending-bar-count {
    font: 500 12px var(--sans);
    color: var(--t2);
}
.pending-bar-actions {
    display: flex;
    gap: 10px;
}
