.revision-identity { padding: 1.2rem; margin-bottom: 1rem; border: 1px solid var(--accent); border-radius: 14px; }
.revision-identity h2 { margin-top: 0; }
.revision-identity p { margin-bottom: 0; }
.revision-note { max-width: 330px; margin: 1rem auto; background: #fff; border-radius: 10px; overflow: hidden; }
.revision-note svg { display: block; width: 100%; height: auto; }
.revision-note-dialog p { overflow-wrap: break-word; }
.modal-card.revision-review { width: min(1200px, 96vw); max-width: none; height: min(860px, 92dvh); padding: 0; display: flex; flex-direction: column; overflow: hidden; }
.revision-head, .revision-footer { display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1rem 1.5rem; flex-shrink: 0; }
.revision-head h2, .revision-head p { margin: 0; }
.revision-head p { margin-top: .4rem; }
.revision-head > div { min-width: 0; overflow-wrap: break-word; }
.revision-progress { white-space: nowrap; font-variant-numeric: tabular-nums; color: var(--accent); }
.revision-layout { flex: 1; min-height: 0; display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(300px, 1fr); }
.revision-map { min-height: 0; min-width: 0; }
.revision-panel { overflow-y: auto; padding: 1.3rem; min-width: 0; }
.revision-panel h3 { margin: .6rem 0; }
.revision-choices { display: grid; gap: .8rem; margin: 1rem 0; }
.revision-choice { padding: 1rem; border-radius: 12px; display: flex; gap: .9rem; align-items: center; text-align: start; font: inherit; background: transparent; color: inherit; border: 2px solid #4b4d4b; cursor: pointer; }
.revision-choice small { display: block; margin-top: .4rem; }
.revision-choice.original { border-style: dashed; }
.revision-choice.original i { color: #63cce6; }
.revision-choice.recorded i { color: #ff8a36; }
.revision-choice.selected { border-color: var(--accent); background: rgba(255,138,54,.1); }
.revision-choice.original.selected { border-color: #63cce6; background: rgba(99,204,230,.1); }
.revision-choice:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; }
.revision-summary { display: grid; gap: .4rem; border-block: 1px solid #444; padding: 1rem 0; margin: 1rem 0; }

.revision-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-top: 1px solid #444; }
.revision-footer .btn { min-width: 0; white-space: normal; justify-content: center; }
.revision-save-hint { margin: 0; padding: .55rem 1.3rem; flex-shrink: 0; font-size: .8rem; color: var(--muted); border-top: 1px solid #444; }
.revision-legend { display: flex; flex-wrap: wrap; gap: .5rem 1rem; font-size: .8rem; }
.revision-legend span::before { content: ''; display: inline-block; width: 1.5rem; margin-inline-end: .4rem; vertical-align: middle; border-top: 3px solid #ff8a36; }
.revision-legend .original::before { border-color: #63cce6; border-top-style: dashed; }
.revision-note-card { border: 1px solid #444; border-radius: 10px; margin: .65rem 0; padding: .65rem; min-width: 0; }
/* Two marks and no more (#1068): orange = a new note, red = a note this version leaves out. */
.revision-note-card[data-note^="new-"] { border-color: var(--accent); }
.revision-note-card.excluded, .revision-note-card.deleted, .revision-note-card.removed { border-style: dashed; border-color: var(--track); }
.revision-note-focus { display: flex; align-items: center; width: 100%; gap: .7rem; padding: 0; border: 0; background: none; color: inherit; text-align: start; cursor: pointer; }
.revision-note-focus > span:last-child { min-width: 0; overflow-wrap: anywhere; }
.revision-note-focus small, .revision-note-focus span > span { display: block; margin-top: .25rem; }
.revision-note-focus small { color: var(--muted); }
.revision-note-preview { flex: 0 0 90px; background: white; border-radius: 6px; overflow: hidden; }
.revision-note-preview svg { display: block; width: 100%; height: auto; }
.revision-note-media { display: flex; gap: .5rem; flex-wrap: wrap; margin-top: .6rem; }
.revision-note-media img { max-width: 100%; max-height: 130px; border-radius: 6px; }
.revision-note-media audio { max-width: 100%; height: 36px; }
.revision-map-end { padding: .3rem .5rem; border: 2px solid white; border-radius: 6px; background: #101313; color: #63cce6; font: 700 11px sans-serif; }
.revision-map-end.recorded { color: #ff8a36; }
.revision-review .revision-map-note { pointer-events: auto; cursor: pointer; }
.revision-map-note.new { min-width: 18px; width: 18px; height: 18px; padding: 0; background: var(--accent); }
.revision-map-note.excluded, .revision-map-note.deleted, .revision-map-note.removed { background: var(--track); color: white; border-style: dashed; }
.revision-map-note.focused { box-shadow: 0 0 0 4px rgba(255, 255, 255, .55); z-index: 1; }
.revision-map-note.unresolved { background: #eeb447; }
.version-history { display: grid; gap: .8rem; }
.version-entry { padding: 1rem; border: 1px solid #444; border-radius: 12px; min-width: 0; }
.version-entry.active { border-color: var(--accent); }
.version-entry p { margin: .5rem 0; }
.version-active { color: var(--accent); font-weight: 700; }
.version-editor-state { display: inline-flex; flex-wrap: wrap; align-items: center; gap: .35rem; } /* the Editor's version, in its settings footer */
.version-editor-state a { color: inherit; text-decoration: none; }
.version-editor-state a:hover { color: var(--accent); }
@media (max-width: 680px) {
    .modal-card.revision-review { width: 100%; height: 94dvh; }
    .revision-layout { display: flex; flex-direction: column; }
    .revision-map { flex: 0 0 37%; min-height: 150px; }
    .revision-panel { flex: 1; padding: 1rem; }
    .revision-head, .revision-footer { padding: .8rem; gap: .5rem; }
    .revision-head { align-items: flex-start; }
    .revision-head h2 { font-size: 1.15rem; }
    .revision-progress { font-size: .8rem; white-space: normal; }
    .revision-footer { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .revision-footer .btn { min-width: 0; white-space: normal; justify-content: center; }
}

.revision-join { display: grid; place-items: center; width: 26px; height: 26px; border: 2px solid #fff; border-radius: 50%; color: #fff; background: #171c19; font: 700 13px sans-serif; }

.revision-map-note { display: grid; place-items: center; min-width: 24px; height: 24px; padding-inline: 3px; border: 2px solid #fff; border-radius: 50%; color: #101313; background: #63cce6; font: 700 12px sans-serif; pointer-events: none; }
.revision-map-note.reviewed { background: #3ad29f; }

.photo-saved-label{position:absolute;bottom:0;left:0;right:0;padding:.25rem;background:var(--bg);color:var(--muted);font-size:.65rem;text-align:center;}

/* The pending review (#1067): a decision still to take, so it stands out from the saved history —
   icon · title with its status · facts, and its actions on the right (under it on a phone). */
.version-entry.pending { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: 1rem 1.25rem; padding: 1.1rem 1.25rem; border-color: rgba(var(--accent-rgb), .45); background: linear-gradient(135deg, rgba(var(--accent-rgb), .10), transparent 60%), var(--card); }
.version-entry-icon { display: grid; place-items: center; width: 2.75em; height: 2.75em; border-radius: 12px; background: rgba(var(--accent-rgb), .14); color: var(--accent); font-size: 1.05rem; }
.version-entry-body { min-width: 0; }
.version-entry-title { display: flex; flex-wrap: wrap; align-items: center; gap: .4rem .75rem; }
.version-entry-title h3 { margin: 0; font-size: 1.05rem; overflow-wrap: break-word; }
.status-badge { display: inline-flex; align-items: center; gap: .4rem; padding: .2rem .65rem; border-radius: 999px; background: rgba(var(--accent-rgb), .14); color: var(--accent); font-size: .75rem; font-weight: 700; }
.fact-list { display: flex; flex-wrap: wrap; gap: .35rem 1.1rem; margin: .45rem 0 0; color: var(--muted); font-size: .85rem; }
.fact-list > span { display: inline-flex; align-items: center; gap: .4rem; }
.fact-list i { color: var(--accent); font-size: .8em; }
.version-entry.pending .btnrow { margin: 0; justify-content: flex-end; }
/* A ride waiting its turn (#1069): the same card, quiet — it can only be discarded for now. */
.version-entry.pending.waiting { border-color: var(--line); background: var(--card); }
.version-entry.pending.waiting .version-entry-icon, .version-entry.pending.waiting .status-badge { background: rgba(255, 255, 255, .06); color: var(--muted); }
@media (max-width: 760px) {
    .version-entry.pending { grid-template-columns: auto minmax(0, 1fr); padding: 1rem; }
    .version-entry.pending .btnrow { grid-column: 1 / -1; display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); }
    .version-entry.pending .btnrow .btn { min-width: 0; justify-content: center; white-space: normal; }
}
