/* Review documents and role-specific actions */
@font-face { font-family:"Gowun Dodum"; src:url("./fonts/gowun-dodum/GowunDodum-Regular.ttf") format("truetype"); font-style:normal; font-weight:400; font-display:swap; }
.review-ai, .review-ai-item, .review-coordinator-feedback { font-family:"Gowun Dodum", "Malgun Gothic", sans-serif; }
:root { --author-ink:#a53e2b; --author-tint:#fff1ea; --author-line:#dba58f; --lead-ink:#6940a0; --lead-tint:#f3edfc; --lead-line:#c2a9df; --geo-ink:#12695f; --geo-tint:#eaf6f2; --geo-line:#9ac8bd; }
.review-lead-ack { display:flex; align-items:flex-start; gap:14px; padding:22px; margin:16px 0 20px; border:2px solid var(--lead-line); border-left:6px solid var(--lead-ink); border-radius:4px; background:var(--lead-tint); color:#4c2b77; font-size:.95rem; line-height:1.85; cursor:pointer; }
.review-lead-ack input { flex-shrink:0; width:21px; height:21px; margin-top:4px; accent-color:var(--lead-ink); }
.review-lead-ack span { min-width:0; overflow-wrap:anywhere; }
.review-ai { position:relative; isolation:isolate; padding:28px; border:1px solid #aebbc7; border-top:4px solid #43566b; border-radius:2px; background:#fffefb; box-shadow:5px 5px 0 #e0e5e9, 0 9px 22px #23364b0b; }
.review-ai::after { content:""; position:absolute; top:-4px; right:-1px; width:25px; height:25px; background:linear-gradient(225deg,#f4f6fa 48%,#bac5cf 49%,#e5eaee 54%); border-left:1px solid #b5c1cd; border-bottom:1px solid #b5c1cd; pointer-events:none; }
.review-ai-heading { display:flex; justify-content:space-between; align-items:flex-start; flex-wrap:wrap; gap:12px; padding:0 12px 18px 0; border-bottom:3px double #8293a4; }
.review-paper-meta { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 14px; color:#657487; font-size:.7rem; font-weight:700; letter-spacing:.05em; }
.review-paper-meta > span { display:inline-block; padding:4px 7px; border:1px solid #b6c2ce; background:#eef2f5; color:#45586e; }
.review-eyebrow { margin:0 0 6px; color:#4c6291; font-size:.73rem; font-weight:800; letter-spacing:.03em; }
.review-ai .review-ai-heading h3 { margin:0; font-size:1.3rem; letter-spacing:-.03em; color:#293e54; }
.review-ai-human-note { padding:7px 10px; border:1px solid #8f9fad; border-radius:2px; color:#43576d; background:#f4f6f8; font-size:.72rem; font-weight:700; }
.review-ai-summary { margin:18px 0; padding:14px 16px; border:1px solid #d0d8df; border-left:4px solid #74889c; background:#f5f7f8; border-radius:0; line-height:1.8; font-size:.88rem; color:#35495d; overflow-wrap:anywhere; }
.review-ai-counts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:0; margin:18px 0; border:1px solid #b9c5cf; }
.review-ai-counts > div { display:flex; align-items:center; justify-content:space-between; gap:8px; padding:12px 16px; border-radius:0; border:0; }
.review-ai-counts > div + div { border-left:1px solid #c7d1da; }
.review-ai-counts > div > span { font-size:.8rem; font-weight:700; }
.review-ai-counts strong { font-size:1.5rem; }
.review-ai-counts small { font-size:.73rem; font-weight:500; margin-left:4px; }
.review-ai .is-fit, .review-ai-badge.is-fit { --ai-color:#18644c; --ai-tint:#eaf6ef; --ai-line:#b6dcca; }
.review-ai .is-unfit, .review-ai-badge.is-unfit { --ai-color:#a2323b; --ai-tint:#fff0f1; --ai-line:#edbdc2; }
.review-ai .is-hold, .review-ai-badge.is-hold { --ai-color:#85550c; --ai-tint:#fff7e5; --ai-line:#e9cd93; }
.review-ai .is-missing, .review-ai-badge.is-missing { --ai-color:#596577; --ai-tint:#f0f2f5; --ai-line:#d3d9e2; }
.review-ai-counts > div { color:var(--ai-color); background:#fafbfc; }
.review-ai-badge { color:var(--ai-color); background:var(--ai-tint); border-color:var(--ai-line); }
.review-ai-badge { display:inline-flex; align-items:center; gap:5px; flex-shrink:0; padding:4px 9px; border:1px solid var(--ai-line); border-radius:3px; font-size:.74rem; font-weight:800; white-space:nowrap; line-height:1.5; }
.review-ai-badge > span { width:15px; height:15px; border-radius:50%; display:inline-flex; justify-content:center; align-items:center; background:var(--ai-color); color:white; font-size:10px; }
.review-ai-priorities { margin:18px 0 24px; padding:18px 20px; background:#fff6ef; border:1px solid #d8ad99; border-left:4px solid var(--author-ink); border-radius:2px; }
.review-ai-priority-heading { display:flex; gap:10px; align-items:flex-start; }
.review-ai-priority-heading > span { flex-shrink:0; width:25px; height:25px; display:grid; place-items:center; border-radius:2px; background:var(--author-ink); color:white; font-weight:800; }
.review-ai-priority-heading h4 { margin:0; font-size:.95rem; color:#8a3927; }
.review-ai-priority-heading p { margin:5px 0 0; font-size:.78rem; line-height:1.65; color:#785a4e; }
.review-ai-priorities ol { padding:0 0 0 24px; margin:14px 0 0; }
.review-ai-priorities li { padding:12px 0 12px 5px; border-top:1px solid #e8d3c7; font-size:.88rem; color:#57463b; line-height:1.8; overflow-wrap:anywhere; white-space:pre-wrap; }
.review-ai-priorities li::marker { color:var(--author-ink); font-weight:800; }
.review-ai-categories { display:grid; grid-template-columns:1fr; gap:0; border:1px solid #aebbc7; }
.review-ai-card { min-width:0; padding:0; border:0; border-radius:0; background:#fffefb; }
.review-ai-card + .review-ai-card { border-top:2px solid #aebbc7; }
.review-ai-card header { display:flex; justify-content:space-between; gap:8px; align-items:center; flex-wrap:wrap; padding:11px 15px; border-bottom:1px solid #bdc8d2; background:#eaf0f4; }
.review-ai-card h4 { display:flex; align-items:center; gap:8px; margin:0; color:#25354d; font-size:.9rem; }
.review-ai-card h4 > span { display:grid; place-items:center; width:24px; height:24px; border:1px solid #9dadbc; color:#496075; background:#fff; font-size:.75rem; font-weight:700; }
.review-ai-basis-cell, .review-ai-card-followup { display:grid; grid-template-columns:100px minmax(0,1fr); }
.review-ai-basis-label, .review-ai-card-followup > strong { padding:14px 12px; border-right:1px solid #d2dae1; background:#f4f6f7; color:#526478; font-size:.75rem; line-height:1.7; font-weight:700; word-break:keep-all; }
.review-ai-basis { margin:0; padding:14px 16px; color:#35495c; font-size:.89rem; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-ai-card-followup { margin:0; padding:0; border-top:1px dashed #c3ccd4; background:#fffaf0; border-radius:0; color:#604f32; }
.review-ai-card-followup > strong { background:#f7f0e0; color:#70562a; }
.review-ai-card-followup p { margin:0; padding:14px 16px; font-size:.87rem; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-ai-guidance { font-size:.78rem; color:#516386; line-height:1.8; margin:18px 0; }
.review-ai-attachments { display:grid; gap:8px; }
.review-ai-attachments a { display:flex; gap:8px 18px; align-items:center; padding:11px 13px; background:#f5f7f9; border:1px solid #c7d0d9; border-radius:2px; text-decoration:none; color:#3b5688; min-width:0; }
.review-ai-attachments a:hover { background:#edf2fc; border-color:#9db2d8; }
.review-ai-attachments strong { flex-shrink:0; font-size:.8rem; }
.review-ai-attachments a > span { font-size:.73rem; color:#66768f; overflow-wrap:anywhere; }
.review-ai-item { padding:12px; margin:12px 0; background:#f4f6f8; border:1px solid #c4cfd9; border-left:3px solid #71869a; border-radius:2px; }
.review-ai-item-heading { display:flex; align-items:center; gap:10px; flex-wrap:wrap; }
.review-ai-item-heading strong { color:#4c6081; font-size:.74rem; }
.review-ai-item p { margin:8px 0 0; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; font-size:.8rem; }
.review-ai-followup { padding-top:8px; border-top:1px solid #dde5f1; color:#79551e; }
.review-optional { display:inline-block; font-size:.7rem; color:#687b76; font-weight:400; }
.review-handoff-upload { padding:14px; border:1px dashed #94bdb4; background:#f8fcfa; border-radius:9px; margin-bottom:18px; }
.review-handoff-upload input[type=file] { display:block; width:100%; min-width:0; box-sizing:border-box; padding:12px; margin-top:10px; background:white; border:1px solid #c7dcd6; border-radius:7px; font-size:.82rem; }
.review-handoff-upload p { font-size:.76rem; color:#5d756c; line-height:1.7; margin:8px 0 0; }
.review-feedback-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; margin:16px 0 20px; }
.review-feedback-grid > * { min-width:0; }
.review-feedback-grid label { color:#264c43; font-size:.84rem; }
.review-feedback-grid textarea { box-sizing:border-box; min-height:112px; width:100%; margin-top:8px; padding:12px; resize:vertical; border:1px solid #bad4cd; border-radius:8px; font:inherit; line-height:1.7; background:white; }
.review-feedback-grid textarea::placeholder { color:#81938e; }
.review-feedback-grid textarea:focus-visible { outline:2px solid #167c71; outline-offset:2px; }
.review-coordinator-ack { margin-top:10px; }
.review-handoff { background:white; border:1px solid #bddbd2; border-radius:10px; padding:18px; }
.review-handoff .review-eyebrow { color:#427467; margin-bottom:12px; }
.review-handoff-filename { margin:10px 0 4px; font-size:.84rem; overflow-wrap:anywhere; }
.review-handoff > small { color:#647b72; font-size:.75rem; line-height:1.6; }
.review-coordinator-feedback .review-feedback-grid > div { padding:14px; background:white; border-radius:8px; border:1px solid #cde2db; }
.review-coordinator-feedback .review-feedback-grid > .review-feedback-focus { background:#fff9ed; border-color:#ebd7ad; }
.review-feedback-grid.has-one { grid-template-columns:1fr; }
.review-coordinator-details { border-top:1px solid #d1e5de; padding-top:12px; margin-top:16px; }
.review-coordinator-details > summary { cursor:pointer; color:#536f65; font-size:.79rem; line-height:1.8; }
.review-coordinator-details > summary > span { display:inline-block; margin-left:8px; padding:1px 7px; border-radius:5px; background:#deeee7; color:#44705f; font-size:.68rem; }
.review-coordinator-details > summary:focus-visible { outline:2px solid #167c71; outline-offset:4px; border-radius:3px; }
.review-feedback-grid h4 { margin:0; font-size:.8rem; color:#326252; }
.review-feedback-focus h4 { color:#88601a; }
.review-feedback-grid p { margin:8px 0 0; font-size:.84rem; line-height:1.8; white-space:pre-wrap; overflow-wrap:anywhere; }
.review-handoff-next { border-top:1px solid #deebe6; padding-top:12px; margin:0; font-size:.79rem; color:#44685b; line-height:1.8; }
.review-author-guide { padding:12px 15px; background:#eef7f3; border-radius:8px; font-size:.85rem; color:#355e51; line-height:1.8; }
.review-author-route { margin:20px 0; padding:22px; border:1px solid #e2aaa4; border-left:5px solid #ba3e37; border-radius:12px; background:#fff6f4; }
.review-author-route-heading { display:flex; align-items:center; gap:12px; }
.review-author-route-heading > span { flex-shrink:0; display:grid; place-items:center; width:32px; height:32px; border-radius:50%; background:#b73933; color:white; font-size:20px; font-weight:800; }
.review-author-route-heading p { margin:0 0 5px; color:#a53b35; font-size:.75rem; font-weight:800; }
.review-author-route-heading h3 { margin:0; color:#762d29; font-size:1.07rem; }
.review-author-route-description { margin:14px 0 18px; font-size:.85rem; line-height:1.85; color:#79514b; }
.review-author-route ol { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:8px; padding:0; margin:0; list-style:none; }
.review-author-route li { min-width:0; }
.review-author-route button { display:grid; grid-template-columns:25px minmax(0,1fr); gap:6px 8px; align-content:start; width:100%; height:100%; padding:13px 10px; border:1px solid #dfb4ad; border-radius:9px; background:white; color:#92372f; text-align:left; font:inherit; cursor:pointer; }
.review-author-route button > span { grid-row:span 2; display:grid; place-items:center; width:24px; height:24px; border-radius:7px; background:#fbe4df; font-size:.75rem; font-weight:800; }
.review-author-route strong { font-size:.79rem; line-height:1.5; }
.review-author-route small { font-size:.67rem; color:#87665f; line-height:1.6; }
.review-author-route button.is-reading { border-color:#cdd4e4; background:#f6f8fc; color:#526487; }
.review-author-route button.is-reading > span { background:#e5eaf5; }
.review-author-route button.is-reading small { color:#6c7891; }
.review-author-route button:hover { border-color:#b73933; box-shadow:0 2px 6px #8f352012; }
.review-author-route button:focus-visible { outline:2px solid #b73933; outline-offset:3px; }
.review-author-action { --section-color:#a33731; border:1px solid #e7bbb5; border-top:4px solid #ba433b; background:#fffaf9; }
.review-action-label { margin:0 0 10px; color:#a43d35; font-size:.75rem; font-weight:800; }
.review-author-action .review-section-title > span { color:#a33731; background:#fae2dd; }
.review-author-action .review-section-title h3 { color:#8a332d; }
.review-author-action .primary-button { background:#b63c35; color:white; }
.review-author-action .primary-button:hover:not(:disabled) { background:#952e29; }
.review-author-action .review-word { background:#fff0ed; border-color:#e9b9b2; }
.review-author-action .review-author-guide, .review-task-instruction { padding:12px 15px; background:#fcece8; border-radius:8px; color:#88453b; font-size:.84rem; line-height:1.85; }
.review-author-action input[type=file] { border:2px dashed #d6978d; background:#fff6f3; }
.review-author-action input[type=file]::file-selector-button { padding:7px 10px; margin-right:10px; border:1px solid #cf8f86; border-radius:6px; background:#fff; color:#993e34; cursor:pointer; }
.review-author-action .review-card[data-reviewer="author"] { --review-accent:#a03932; --review-tint:#fbe9e5; border-color:#dfb3ab; }
.review-author-action .review-card[data-reviewer="author"] select:focus-visible, .review-author-action .review-card[data-reviewer="author"] textarea:focus-visible { outline:2px solid #b63c35; outline-offset:2px; }
.review-action-next { margin:15px 0 0; padding-top:13px; border-top:1px solid #ebc8c0; font-size:.81rem; line-height:1.8; color:#914538; }
.review-reading-group { margin:26px 0; }
.review-reading-start { display:flex; align-items:flex-start; gap:11px; margin:0 3px 14px; }
.review-reading-start > span { display:grid; place-items:center; flex-shrink:0; width:28px; height:28px; background:#e8edf5; border-radius:8px; color:#5e6f8a; font-size:.75rem; font-weight:800; }
.review-reading-start h3 { margin:2px 0 5px; font-size:.98rem; color:#465871; }
.review-reading-start p { margin:0; font-size:.78rem; color:#6a7a90; line-height:1.7; }
.review-reading-label { display:flex; align-items:center; flex-wrap:wrap; gap:8px; margin:0 0 11px; color:#50628a; font-size:.76rem; font-weight:700; }
.review-reading-label > span { padding:4px 8px; background:#e5eafa; border-radius:5px; font-size:.7rem; }
.review-reading-guide { margin:10px 0 16px; color:#62728d; font-size:.8rem; line-height:1.8; }
.review-coordinator-feedback { position:relative; border:1px solid #b8ccc5; border-top:5px solid var(--geo-ink); border-radius:3px; padding:26px; background:#f7faf8; box-shadow:4px 4px 0 #e1eae5; }
.review-coordinator-feedback .review-reading-label { color:#346e5e; }
.review-coordinator-feedback .review-reading-label > span { background:#dceee6; color:#27624f; }
.review-coordinator-feedback .review-reading-heading { padding-bottom:14px; border-bottom:1px solid #b9d1c8; }
.review-coordinator-feedback .review-reading-heading h3 { margin:0; color:#245d4e; font-size:1.16rem; }
.review-coordinator-feedback .review-reading-guide { color:#577a6e; }
.review-coordinator-feedback .review-feedback-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; margin:32px 4px 24px; align-items:start; }
.review-coordinator-feedback .review-feedback-grid.has-one { grid-template-columns:1fr; }
.review-coordinator-feedback .review-feedback-grid > .review-feedback-note { position:relative; padding:29px 22px 25px; border:1px solid #e2d29b; border-bottom-color:#d2bb75; border-radius:1px; background:linear-gradient(180deg,#fff1b7 0,#fff6d1 42px,#fff9df 100%); box-shadow:2px 5px 9px #4e482015; }
.review-coordinator-feedback .review-feedback-grid > .review-feedback-note::after { content:""; position:absolute; bottom:0; right:0; width:16px; height:16px; background:linear-gradient(135deg,transparent 48%,#e4d39a 49%,#f8f6e9 55%); pointer-events:none; }
.review-coordinator-feedback .review-feedback-grid > .review-feedback-focus { background:linear-gradient(180deg,#ffebbd 0,#fff2d4 42px,#fff7e5 100%); border-color:#dfc38d; }
.review-feedback-tape { position:absolute; top:-12px; left:calc(50% - 40px); width:80px; height:24px; border:1px solid #b6cbc370; background:repeating-linear-gradient(90deg,#cfdfd4bc 0 4px,#d8e5ddba 4px 7px); transform:rotate(-3deg); box-shadow:0 1px 1px #4f675617; pointer-events:none; }
.review-feedback-focus .review-feedback-tape { transform:rotate(3deg); }
.review-feedback-caption { display:flex; align-items:center; gap:10px; }
.review-coordinator-feedback .review-feedback-grid h4 { padding:0 0 10px; width:100%; border-bottom:1px solid #ccba805e; color:#365b4d; font-size:.83rem; font-weight:800; letter-spacing:.01em; }
.review-coordinator-feedback .review-feedback-grid .review-feedback-text { margin:13px 0 0; font-family:inherit; color:#4d4934; font-size:.94rem; font-weight:500; line-height:1.85; white-space:pre-wrap; overflow-wrap:anywhere; word-break:keep-all; }

/* A role keeps one color across its heading, controls and next action. */
[data-review-role="author"] { --role-ink:var(--author-ink); --role-tint:var(--author-tint); --role-line:var(--author-line); }
[data-review-role="lead"] { --role-ink:var(--lead-ink); --role-tint:var(--lead-tint); --role-line:var(--lead-line); }
[data-review-role="coordinator"] { --role-ink:var(--geo-ink); --role-tint:var(--geo-tint); --role-line:var(--geo-line); }
.review-section[data-review-role] { --section-color:var(--role-ink); border-color:var(--role-line); border-top:4px solid var(--role-ink); border-radius:5px; }
.review-section[data-review-role] .review-section-title > span { background:var(--role-tint); color:var(--role-ink); }
.review-section[data-review-role] .review-section-title h3, [data-review-role] .review-action-label { color:var(--role-ink); }
.review-dialog [data-review-role] .primary-button { background:var(--role-ink); border-color:var(--role-ink); color:#fff; }
.review-dialog [data-review-role] .primary-button:hover:not(:disabled) { background:var(--role-ink); filter:brightness(.9); }
.review-dialog [data-review-role] .secondary-button { color:var(--role-ink); border-color:var(--role-line); }
.review-dialog [data-review-role] :is(button,a,summary,input,select,textarea):focus-visible { outline-color:var(--role-ink); }
.review-section[data-review-role] .review-word { background:var(--role-tint); border-color:var(--role-line); border-radius:4px; }
.review-section[data-review-role] input[type=file] { border-color:var(--role-line); background:var(--role-tint); }
.review-card[data-reviewer="author"], .review-author-action .review-card[data-reviewer="author"] { --review-accent:var(--author-ink); --review-tint:var(--author-tint); --role-ink:var(--author-ink); --role-tint:var(--author-tint); --role-line:var(--author-line); border-color:var(--author-line); }
.review-card[data-reviewer="lead"] { --review-accent:var(--lead-ink); --review-tint:var(--lead-tint); --role-ink:var(--lead-ink); --role-tint:var(--lead-tint); --role-line:var(--lead-line); border-color:var(--lead-line); }
.review-card { border-radius:4px; border-top:4px solid var(--review-accent); }
.review-card > summary, .review-card[open] > summary { border-radius:0; }
.review-card input[type=checkbox] { accent-color:var(--review-accent); }
.review-card .review-verdict { background:var(--review-tint); color:var(--review-accent); border-radius:3px; }
.review-card .review-actions .primary-button { background:var(--review-accent); border-color:var(--review-accent); }
.review-card .review-actions .secondary-button { color:var(--review-accent); border-color:var(--role-line); }
.review-owners > [data-review-role] { border-left:4px solid var(--role-ink); background:var(--role-tint); border-radius:3px; }
.review-owners > [data-review-role] > small { color:var(--role-ink); font-weight:800; }
.review-manuscript[data-review-role="author"] .review-author-guide { color:var(--author-ink); background:var(--author-tint); }
.review-author-action { border-top-color:var(--author-ink); border-color:var(--author-line); background:#fffaf7; border-radius:5px; }
.review-author-route { border-color:var(--author-line); border-left-color:var(--author-ink); background:var(--author-tint); border-radius:5px; }
.review-author-route button { border-radius:4px; }
.review-ai-summary > .review-ai-basis-label { display:block; padding:0; border:0; background:none; margin-bottom:7px; }
.review-ai-summary > p { margin:0; }
.review-ai .review-reading-label > span { border:1px solid #bdc9d4; border-radius:1px; background:#edf1f4; color:#4c5e71; }
.review-ai .review-notice { border-radius:2px; border:1px solid #e4cfab; }
.review-ai-guidance { padding-top:14px; border-top:1px solid #bcc8d2; }
.review-coordinator-feedback .review-paper-meta > span { border-color:#a5c5b8; background:#e8f1eb; color:#285c4c; }
.review-coordinator-feedback .review-reading-label > span { border-radius:2px; }
.review-coordinator-details { border-top-style:dashed; }
.review-progress li.current:nth-child(2), .review-progress li.current:nth-child(6) { background:var(--geo-tint); color:var(--geo-ink); box-shadow:inset 0 0 0 1px var(--geo-line); }
.review-progress li.current:nth-child(3), .review-progress li.current:nth-child(4) { background:var(--author-tint); color:var(--author-ink); box-shadow:inset 0 0 0 1px var(--author-line); }
.review-progress li.current:nth-child(5) { background:var(--lead-tint); color:var(--lead-ink); box-shadow:inset 0 0 0 1px var(--lead-line); }
@media(max-width:680px) {
  .review-author-route { padding:16px; }
  .review-author-route ol { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .review-author-route-heading h3 { font-size:.97rem; line-height:1.6; }
  .review-ai, .review-coordinator-feedback { padding:18px 14px; }
  .review-ai .review-ai-heading h3 { font-size:1.1rem; }
  .review-ai-categories, .review-feedback-grid, .review-coordinator-feedback .review-feedback-grid { grid-template-columns:1fr; }
  .review-ai-counts { gap:0; }
  .review-ai-counts > div { padding:10px; flex-direction:column; align-items:flex-start; gap:2px; }
  .review-ai-counts > div > span { font-size:.73rem; }
  .review-ai-priorities { padding:14px; }
  .review-ai-attachments a { flex-direction:column; align-items:flex-start; }
  .review-coordinator form, .review-handoff { padding:13px; }
  .review-ai-basis-cell, .review-ai-card-followup { grid-template-columns:1fr; }
  .review-ai-basis-label, .review-ai-card-followup > strong { padding:8px 12px; border-right:0; border-bottom:1px solid #d2dae1; }
  .review-ai-basis, .review-ai-card-followup p { padding:12px; }
  .review-ai-card header { padding:10px 12px; }
  .review-coordinator-feedback .review-feedback-grid { margin-inline:0; }
  .review-coordinator-feedback .review-feedback-grid > .review-feedback-note { padding:26px 17px 20px; }
  .review-lead-ack { padding:16px 13px; gap:11px; }
}
@media(forced-colors:active) {
  .review-ai, .review-coordinator-feedback, .review-feedback-note { box-shadow:none; }
  .review-ai::after, .review-feedback-tape, .review-feedback-note::after { display:none; }
  .review-ai-card, .review-lead-ack { border:1px solid CanvasText; }
}

/* Compact file controls, visible saving and a clear handoff between reviewers. */
.review-current-file { display:flex; align-items:center; gap:12px; padding:13px 14px; margin:14px 0; border:1px solid var(--author-line); border-radius:6px; background:#fff; }
.review-current-file-info { flex:1; min-width:0; }
.review-current-file-info > a { display:block; color:var(--author-ink); font-size:.84rem; line-height:1.65; overflow-wrap:anywhere; }
.review-current-file-info > small { display:block; margin-top:4px; color:#79665f; font-size:.72rem; line-height:1.6; }
.review-file-remove { display:grid; place-items:center; flex:0 0 34px; height:34px; padding:7px; border:1px solid #d6aaa1; border-radius:5px; background:#fff; color:var(--author-ink); cursor:pointer; }
.review-file-remove:hover:not(:disabled) { background:var(--author-tint); }
.review-file-remove:disabled { opacity:.5; cursor:not-allowed; }
.review-file-removal { margin:12px 0; padding:15px; border:1px solid #d6aaa1; border-radius:6px; background:#fff2ec; color:#8b3d2f; font-size:.82rem; }
.review-file-removal p { margin:7px 0; font-size:.78rem; line-height:1.75; }
.review-file-removal .review-actions { margin-top:12px; }
.review-file-removal button { font-size:.79rem; }
.review-savebar { margin:14px 0 20px; padding:15px 16px; border:1px solid var(--author-line); border-left:4px solid var(--author-ink); border-radius:5px; background:#fff8f3; }
.review-savebar > p { margin:0; color:#8a4433; font-size:.8rem; line-height:1.7; }
.review-savebar .review-actions { margin-top:10px; }
.review-savebar .review-actions > button { font-size:.81rem; line-height:1.55; white-space:normal; }
.review-export .review-export-description { font-size:.77rem; line-height:1.75; }
.review-export .review-export-storage-note { margin-top:10px; font-size:.72rem; line-height:1.8; color:#657a71; }
.review-export-archive > strong { font-size:.84rem; }
.review-export-archive > p { font-size:.77rem; }
.review-export-archive > details { margin-top:9px; }
.review-export-archive summary { cursor:pointer; color:#4b6c60; font-family:inherit; font-size:.76rem; line-height:1.7; }
.review-export-location { display:grid; grid-template-columns:minmax(0,1fr) auto; align-items:center; gap:5px 12px; padding:11px 0; border-bottom:1px solid #e1e9e5; font-size:.74rem; }
.review-export-location:last-child { border-bottom:0; padding-bottom:0; }
.review-export-location > span { color:#4b6c60; font-weight:700; }
.review-export-location .review-export-path { grid-column:1/-1; margin:0; font-family:inherit; font-size:.73rem; color:#6a7973; line-height:1.7; }
.review-copy-path { padding:4px 8px; border:1px solid #bfd1c9; border-radius:4px; color:#41695b; background:#f8fbf9; font-family:inherit; font-size:.72rem; line-height:1.5; cursor:pointer; }
.review-copy-path:hover { background:#edf5f0; }
.review-word-location { min-width:0; align-self:stretch; margin-top:3px; padding-top:11px; border-top:1px solid var(--role-line, #bfd1c9); }
.review-word-location-heading { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:6px 12px; }
.review-word-location-heading > span { color:#506c64; font-size:.73rem; font-weight:650; }
.review-word-folder { display:block; margin-top:7px; color:#536b66; font-family:inherit; font-size:.74rem; line-height:1.75; overflow-wrap:anywhere; user-select:text; }
.review-word .review-word-stored-name { display:block; margin-top:5px; color:#64756f; font-size:.7rem; line-height:1.65; overflow-wrap:anywhere; }
.review-copy-path:focus-visible, .review-export-archive summary:focus-visible { outline:2px solid #12695f; outline-offset:3px; }
.review-finished-dialog { --author-ink:#a53e2b; --author-tint:#fff1ea; --author-line:#dba58f; --lead-ink:#6940a0; --lead-tint:#f3edfc; --lead-line:#c2a9df; box-sizing:border-box; width:min(470px,calc(100vw - 32px)); max-height:calc(100vh - 32px); padding:30px; border:1px solid var(--role-line); border-top:5px solid var(--role-ink); border-radius:12px; background:#fff; color:#334357; box-shadow:0 18px 70px #14243830; font-family:inherit; }
.review-finished-dialog::backdrop { background:#14243866; }
.review-finished-icon { display:grid; place-items:center; width:42px; height:42px; margin-bottom:18px; border-radius:50%; color:var(--role-ink); background:var(--role-tint); font-size:24px; font-weight:700; }
.review-finished-dialog h2 { margin:0; color:var(--role-ink); font-size:1.22rem; line-height:1.5; letter-spacing:-.03em; }
.review-finished-dialog > p { margin:12px 0; font-size:.88rem; line-height:1.8; word-break:keep-all; }
.review-finished-dialog .review-finished-next { padding:12px 14px; margin:20px 0; border:1px solid var(--role-line); border-radius:6px; background:var(--role-tint); color:var(--role-ink); font-size:.82rem; font-weight:700; }
.review-finished-dialog .primary-button { color:#fff; background:var(--role-ink); border-color:var(--role-ink); }
.review-finished-dialog .secondary-button { color:var(--role-ink); border-color:var(--role-line); }
.review-finished-dialog .review-actions { margin-top:20px; }
.review-finished-dialog button { font-family:inherit; font-size:.82rem; }
.review-finished-dialog button:focus-visible { outline:2px solid var(--role-ink); outline-offset:3px; }
@media(max-width:540px) {
  .review-current-file { gap:9px; padding:11px; }
  .review-savebar { padding:12px; }
  .review-savebar .review-actions { display:grid; grid-template-columns:1fr; }
  .review-finished-dialog { padding:24px 20px; }
  .review-finished-dialog .review-actions > button { flex:1 1 auto; }
}

/* Role colors identify reviewers; a filled green badge marks the final delivery stage. */
.geo-badge-author { color:var(--author-ink); background:var(--author-tint); border-color:var(--author-line); }
.geo-badge-lead { color:var(--lead-ink); background:var(--lead-tint); border-color:var(--lead-line); }
.geo-badge-coordinator { color:var(--geo-ink); background:var(--geo-tint); border-color:var(--geo-line); }
.geo-badge-complete { color:#fff; background:#236249; border-color:#236249; }
.review-lead-upload { margin:18px 0; padding:18px; border:1px solid var(--lead-line); background:var(--lead-tint); border-radius:4px; }
.review-lead-upload .primary-button { background:var(--lead-ink); border-color:var(--lead-ink); }
.review-lead-upload a { overflow-wrap:anywhere; }
.review-lead-file { display:grid; grid-template-columns:34px minmax(0,1fr) auto; align-items:center; gap:12px; margin:18px 0; padding:15px 16px; border:1px solid #ded3ec; border-radius:6px; background:#fff; }
.review-lead-file-icon { display:grid; place-items:center; width:34px; height:40px; border-radius:4px; background:var(--lead-tint); color:var(--lead-ink); }
.review-lead-file-icon svg { width:23px; height:23px; }
.review-lead-file-content { display:grid; gap:4px; min-width:0; }
.review-lead-file-label { color:var(--lead-ink); font-size:.69rem; font-weight:700; line-height:1.5; }
.review-lead-file .review-lead-file-name { color:#28364b; font-size:.84rem; font-weight:600; line-height:1.65; text-decoration:none; overflow-wrap:anywhere; }
.review-lead-file .review-lead-file-name:hover { color:var(--lead-ink); text-decoration:underline; text-underline-offset:3px; }
.review-lead-file-meta { display:flex; flex-wrap:wrap; gap:3px 12px; color:#748093; font-size:.69rem; line-height:1.6; }
.review-lead-file .review-lead-file-download { display:inline-flex; align-items:center; gap:7px; padding:7px 10px; border:1px solid #ded3ec; border-radius:4px; color:var(--lead-ink); background:#faf8fd; font-size:.72rem; font-weight:600; line-height:1.5; text-decoration:none; white-space:nowrap; }
.review-lead-file .review-lead-file-download:hover { border-color:var(--lead-ink); background:var(--lead-tint); }
.review-lead-file a:focus-visible { outline:2px solid var(--lead-ink); outline-offset:3px; }
@media(max-width:560px) {
  .review-lead-file { grid-template-columns:28px minmax(0,1fr); align-items:start; gap:10px; padding:12px; }
  .review-lead-file-icon { width:28px; height:34px; }
  .review-lead-file .review-lead-file-download { grid-column:2; justify-self:start; }
}
