.review-body { margin:0; background:#f4f7f6; color:#243437; font:16px/1.6 system-ui,"Microsoft YaHei",sans-serif; }
.review-body [hidden] { display:none !important; }
.review-body button, .review-body input, .review-body select, .review-body textarea { font:inherit; }
.review-body button { cursor:pointer; min-height:44px; padding:9px 16px; background:#fff; color:#174b47; border:1px solid #98b0a7; border-radius:6px; }
.review-body button:disabled { opacity:.55; cursor:wait; }
.review-body :is(button,a,input,select,textarea,summary):focus-visible { outline:3px solid #936314; outline-offset:3px; }
.review-body .review-primary { background:#16645c; border-color:#16645c; color:#fff; }
.review-body .review-return { color:#9a3328; border-color:#b78077; }
.review-header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px max(20px,calc((100vw - 1280px)/2)); background:white; border-bottom:1px solid #d9e3dc; flex-wrap:wrap; }
.review-header a { color:#174b47; text-underline-offset:4px; }
.review-separator { padding:0 12px; color:#657470; }
.review-actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
.review-toolbar { max-width:1280px; margin:24px auto; padding:24px; border:1px solid #d9e3dc; background:#fff; border-radius:8px; }
.review-project-picker { display:grid; grid-template-columns:auto minmax(140px,1fr) auto minmax(200px,2fr); gap:12px; align-items:center; }
.review-body :is(input:not([type=checkbox]),select,textarea) { box-sizing:border-box; width:100%; padding:10px 12px; border:1px solid #9ab0a6; border-radius:5px; background:white; color:#243437; min-width:0; }
.review-tools { display:flex; justify-content:space-between; gap:16px; align-items:center; flex-wrap:wrap; margin-top:22px; }
.review-tools p { color:#52685f; margin:5px 0 0; font-size:14px; }
.review-preview-toggle { display:flex; gap:8px; align-items:center; min-height:44px; }
.review-preview-toggle input { width:18px; height:18px; }
#review-status { margin:12px 0 0; color:#315b50; }
.review-error, #review-form-status { color:#9a3328; }
.review-body main { width:100%; max-width:none; margin:0; padding:0; }
.review-body .site-nav { top:0; }
.review-body .review-field-controls { grid-column:1/-1; margin-top:8px; }
.review-edit { font-size:13px !important; padding:5px 12px !important; }
.review-note { border:1px solid #ba8c34; border-left:4px solid #a27119; background:#fff8e9; padding:16px; margin:14px 0 4px; border-radius:5px; overflow-wrap:anywhere; scroll-margin-top:80px; }
.review-note[data-state=approved] { border-color:#3c8868; background:#edf7f0; }
.review-note[data-state=returned] { border-color:#b96253; background:#fff1ec; }
.review-note p { margin:8px 0; }
.review-note .review-meta { color:#596b62; font-size:12px; }
.review-before { color:#596b62; }
.review-after { font-weight:600; color:#243437; }
.review-note img { display:block; width:100%; max-height:340px; object-fit:contain; background:#eef1eb; }
.review-note .review-actions { margin-top:12px; }
.review-missing { color:#835910; font-size:13px; }
.review-publish { max-width:1232px; margin:24px auto 60px; background:#fff; padding:24px; border:1px solid #d9e3dc; border-radius:8px; }
.review-publish article { padding:16px 0; border-bottom:1px solid #dde5df; }
.review-publish h2 { font-size:23px; }
.review-body dialog { border:1px solid #a8b9b0; border-radius:10px; width:min(620px,calc(100% - 32px)); padding:24px; max-height:85dvh; overflow:auto; box-sizing:border-box; color:#243437; }
.review-body dialog::backdrop { background:rgba(12,32,29,.55); }
.review-body dialog form, #review-image-fields { display:grid; gap:16px; }
.review-body dialog h2 { margin:0; font-size:23px; flex:1; }
.review-body dialog label { display:grid; gap:6px; }
.review-body dialog textarea { min-height:100px; resize:vertical; }
#review-file-preview { max-width:100%; max-height:260px; object-fit:contain; }
#review-lightbox { width:min(1200px,calc(100% - 24px)); }
#review-lightbox img { display:block; max-width:100%; max-height:72dvh; object-fit:contain; margin:12px auto 0; }
.review-clean .review-field-controls, .review-clean .review-note, .review-clean .review-image-tools, .review-clean .review-missing, .review-clean #review-publish { display:none !important; }
.review-body .review-media-card { min-width:0; }
.review-body .review-media-card > a { display:block; }
.review-skip { position:fixed; top:-100px; left:12px; background:white; padding:12px; z-index:100; }
.review-skip:focus { top:8px; }
@media(max-width:700px) {
  .review-toolbar { margin:12px; padding:16px; }
  .review-project-picker { grid-template-columns:1fr; gap:6px; }
  .review-header { padding:14px 16px; }
  .review-header strong { font-size:14px; }
  .review-tools { align-items:flex-start; }
  .review-publish { margin:12px; padding:16px; }
  .review-body .media-gallery { grid-template-columns:1fr; }
  .review-note { padding:12px; }
  .review-note .review-actions { flex-direction:column; align-items:stretch; }
  .review-note .review-actions button { width:100%; }
}
