.ocr-workspace{--ocr-border:#e1e7ef;--ocr-muted:#66758a;display:grid;gap:18px;max-width:1440px;margin:auto;min-width:0}.ocr-heading,.ocr-section-title,.ocr-toolbar,.ocr-actions{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.ocr-heading h1{margin:6px 0;font-size:26px;overflow-wrap:anywhere}.ocr-heading p,.ocr-muted,.ocr-heading small{color:var(--ocr-muted);font-size:13px;line-height:1.65}.ocr-eyebrow{font-size:12px;color:#4366a8;font-weight:700}.ocr-card{background: var(--clash-surface, #fffdf8);border:1px solid var(--ocr-border);border-radius:16px;padding:22px;min-width:0}.ocr-card h2,.ocr-dialog h2{font-size:17px;margin:0 0 10px}.ocr-form-grid{display:grid;grid-template-columns:2fr 1fr 1.4fr;gap:16px}.ocr-workspace label,.ocr-dialog label{display:grid;gap:7px;font-size:13px;font-weight:600;min-width:0}.ocr-workspace input,.ocr-workspace select,.ocr-dialog select,.ocr-dialog input{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d5dfec;border-radius:8px;padding:9px 10px;background: var(--clash-surface, #fffdf8);color:#243650;font:inherit}.ocr-workspace input[type=checkbox],.ocr-dialog input[type=checkbox]{width:auto}.ocr-upload{border:1px dashed #a1b5d4;border-radius:12px;padding:20px;background:#f7faff;margin:18px 0;text-align:center}.ocr-upload input[type=file]{max-width:650px;margin:auto;background: var(--clash-surface, #fffdf8)}.ocr-actions{justify-content:flex-start}.ocr-workspace button,.ocr-dialog button{border:1px solid #d5dfec;border-radius:8px;padding:9px 13px;background:#f8faff;color:#2a4366;cursor:pointer;font:inherit;font-size:13px}.ocr-workspace button.btn-primary,.ocr-dialog button.btn-primary{background:#325bd0;border-color:#325bd0;color:white}.ocr-workspace button:disabled{cursor:not-allowed;opacity:.45}.ocr-workspace .ocr-danger{color:#bd3541}.ocr-project-link{display:flex;justify-content:space-between;gap:16px;padding:18px 0;border-bottom:1px solid var(--ocr-border);text-decoration:none;color:inherit}.ocr-project-link strong{overflow-wrap:anywhere}.ocr-project-link small{display:block;margin-top:7px;color:var(--ocr-muted)}.ocr-badge{white-space:nowrap;font-size:12px;color:#315bad;align-self:center}.ocr-empty{text-align:center;color:var(--ocr-muted);padding:32px}.ocr-task-card progress{width:100%;height:8px;margin-top:14px;accent-color:#325bd0}.ocr-task-card p{margin:8px 0 0}#ocr-error{color:#b42335;background:#fff1f2;border-radius:8px;padding:10px}#ocr-save-state{display:block;margin:12px 0}#ocr-issues{border-top:1px solid var(--ocr-border);padding-top:12px}#ocr-issues summary{cursor:pointer;font-size:13px;font-weight:600}#ocr-issue-content{max-height:220px;overflow:auto;overflow-wrap:anywhere;font-size:12px;line-height:1.8}.ocr-table-scroll{overflow:auto}.ocr-table{width:100%;border-collapse:collapse;table-layout:fixed;min-width:860px}.ocr-table th{text-align:left;background:#f5f7fb;color:#526680;font-size:12px;padding:12px 10px;white-space:nowrap}.ocr-table th:nth-child(1){width:110px}.ocr-table th:nth-child(2){width:22%}.ocr-table th:nth-child(3){width:21%}.ocr-table th:nth-child(4){width:20%}.ocr-table th:nth-child(6){width:65px}.ocr-table td{padding:14px 9px;border-bottom:1px solid var(--ocr-border);vertical-align:top}.ocr-cell-stack{display:grid;gap:9px}.ocr-inline{display:flex;gap:7px;align-items:center}.ocr-inline label{flex:1;font-size:11px;color:var(--ocr-muted)}.ocr-inline input{width:100%}.ocr-row-check{display:flex!important;align-items:center;gap:5px;font-weight:400!important;white-space:nowrap}.ocr-crops{display:grid;gap:7px}.ocr-crops img{max-width:100%;height:35px;object-fit:contain;background:#eef2f8;border-radius:5px;cursor:zoom-in}.ocr-dialog{border:1px solid #d5dfec;border-radius:16px;padding:24px;max-width:900px;width:calc(100vw - 40px);max-height:85dvh;box-sizing:border-box;overflow:auto;color:#243650}.ocr-dialog::backdrop{background:#14243f88;backdrop-filter:blur(3px)}.ocr-dialog .ocr-section-title{position:sticky;top:-24px;background: var(--clash-surface, #fffdf8);padding:12px 0;z-index:2}.ocr-dialog img.ocr-full-image{display:block;max-width:100%;height:auto;margin:auto}.ocr-calibration-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:16px 0}.ocr-star-group{border:1px solid #e1e7ef;border-radius:10px;padding:12px;display:grid;gap:8px}.ocr-star-group img{width:100%;height:70px;object-fit:contain;background:#edf2f8}.ocr-star-group .ocr-actions{gap:5px}.ocr-star-group button{padding:6px 8px;font-size:12px}.ocr-layout-controls{display:grid;gap:12px;margin:12px 0}.ocr-layout-controls canvas{width:100%;height:auto;touch-action:none;border:1px solid #d5dfec;cursor:crosshair}.ocr-new-members{display:grid;gap:8px;margin:16px 0}.ocr-new-members label{display:flex;align-items:center;gap:8px;overflow-wrap:anywhere}.ocr-workspace button:focus-visible,.ocr-dialog button:focus-visible{outline:3px solid #9db9ff;outline-offset:2px}
@media(max-width:700px){.ocr-workspace{gap:12px}.ocr-heading h1{font-size:22px}.ocr-card{padding:16px;border-radius:12px}.ocr-form-grid{grid-template-columns:1fr}.ocr-heading{align-items:flex-start}.ocr-toolbar{display:grid;width:100%}.ocr-toolbar>.ocr-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-toolbar button{min-height:42px;padding:10px 6px}.ocr-table{min-width:0;display:block}.ocr-table thead{display:none}.ocr-table tbody{display:grid;gap:14px}.ocr-table tr{display:grid;grid-template-columns:1fr 1fr;gap:10px;background:#f8faff;border:1px solid #e1e7ef;padding:13px;border-radius:12px;min-width:0}.ocr-table td{display:block;border:0;padding:0;min-width:0}.ocr-table td::before{content:attr(data-label);display:block;font-size:11px;color:#66758a;margin-bottom:7px}.ocr-table td:nth-child(2),.ocr-table td:nth-child(4),.ocr-table td:nth-child(5){grid-column:1/-1}.ocr-table td:nth-child(2){grid-row:2}.ocr-table td:nth-child(3){grid-column:1/-1;grid-row:3}.ocr-table td:nth-child(6){grid-column:2;grid-row:1;justify-self:end}.ocr-table td:nth-child(1){grid-column:1;grid-row:1}.ocr-crops{display:flex;gap:8px}.ocr-crops img{width:31%;height:44px}.ocr-dialog{padding:16px;width:calc(100vw - 20px);max-height:90dvh}.ocr-calibration-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.ocr-project-link{gap:8px}.ocr-project-link>div{min-width:0}.ocr-upload{padding:14px}.ocr-upload input[type=file]{font-size:12px}.ocr-dialog .ocr-section-title{top:-16px}.ocr-workspace input{font-size:16px}}
.ocr-table td:last-child button{white-space:nowrap;padding:8px 6px}.ocr-table td:first-child .ocr-cell-stack{grid-template-columns:1fr 1fr}.ocr-table .ocr-row-check input{margin:0}
.ocr-upload-card form{display:grid;gap:20px}.ocr-upload-card .ocr-upload{margin:0;display:grid;gap:12px;text-align:left}.ocr-upload-error{color:#b42335;background:#fff1f2;padding:12px;border-radius:8px}.ocr-upload-previews{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:14px}.ocr-upload-preview{min-width:0;border:1px solid #dce5f1;background:#f8faff;border-radius:12px;padding:9px;display:grid;grid-template-columns:1fr auto;gap:8px;align-items:center}.ocr-upload-preview .ocr-preview-image{grid-column:1/-1;display:block;width:100%;padding:0;overflow:hidden;border:0;background:#e8edf4}.ocr-preview-image img{display:block;width:100%;height:145px;object-fit:contain}.ocr-upload-preview p{grid-column:1/-1;margin:0;font-size:12px;overflow-wrap:anywhere}.ocr-upload-preview small{color:#708199}.ocr-upload-preview>button:last-child{padding:6px 10px;color:#b42335}.ocr-back-link{font-size:13px;color:#577095;text-decoration:none}.ocr-project-heading h1{margin:10px 0}.ocr-project-meta{display:flex;flex-wrap:wrap;gap:8px;font-size:12px;color:#5b708d}.ocr-project-meta span{background:var(--clash-forest-pale, #f1f5ed);border-radius:6px;padding:5px 9px}.ocr-review-tools h2{margin:0}.ocr-review-tools .ocr-toolbar p{margin:6px 0 0}.ocr-tool-row{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:16px;padding-top:16px;border-top:1px solid var(--ocr-border)}.ocr-tool-row #ocr-save-state{margin:0}.ocr-project-options{margin-top:16px}.ocr-project-options summary,.ocr-source-card summary{cursor:pointer;font-size:13px;font-weight:600}.ocr-project-options .ocr-actions{padding-top:12px}.ocr-review-tools #ocr-issues{margin-top:14px}.ocr-source-images{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:12px;margin-top:16px}.ocr-source-images button{display:grid;gap:8px;font-size:12px}.ocr-source-images img{display:block;width:100%;height:100px;object-fit:contain}.ocr-records .ocr-section-title{margin-bottom:16px}.ocr-records .ocr-section-title p{font-size:12px;margin:6px 0 0}.ocr-layout-dialog{max-width:1350px;width:calc(100vw - 32px)}.ocr-layout-toolbar{display:grid;grid-template-columns:2fr 1fr 1fr;gap:12px}.ocr-layout-toolbar label,.ocr-layout-coordinates label{display:grid;gap:6px;font-size:12px;color:#526680;min-width:0}.ocr-dialog select,.ocr-dialog input[type=number]{width:100%;min-width:0;box-sizing:border-box;border:1px solid #d5dfec;border-radius:8px;padding:9px;background: var(--clash-surface, #fffdf8);color:#243650;font:inherit}.ocr-zoom-controls{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:10px;background:#f2f6fc;border-radius:10px}.ocr-zoom-controls input{flex:1;min-width:90px;max-width:250px}.ocr-zoom-controls span{min-width:42px;font-size:12px}.ocr-layout-coordinates{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:400px}.ocr-layout-note{font-size:12px;line-height:1.7;color:#526680;margin:0}.ocr-canvas-viewport{min-width:0;width:100%;height:clamp(240px,52vh,650px);overflow:auto;background:#202c40;border-radius:10px;overscroll-behavior:contain;position:relative;box-sizing:border-box}.ocr-layout-controls .ocr-canvas-viewport canvas{display:block;width:auto;max-width:none;height:auto;border:0;touch-action:none}.ocr-layout-controls>.ocr-actions{padding-top:8px}.ocr-layout-dialog #ocr-modal-body{min-width:0}
@media(max-width:700px){.ocr-upload-card>.ocr-section-title{align-items:flex-start;gap:8px;flex-direction:column}.ocr-upload-previews{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ocr-preview-image img{height:120px}.ocr-upload-preview small{font-size:11px}.ocr-upload .ocr-section-title{flex-wrap:wrap;gap:8px}.ocr-project-heading{display:block}.ocr-project-heading>.ocr-badge{display:none}.ocr-project-meta{gap:5px}.ocr-project-meta span{font-size:11px;padding:5px 7px}.ocr-review-tools .ocr-toolbar{display:grid;gap:14px}.ocr-review-tools .ocr-toolbar>.ocr-primary-actions{grid-template-columns:1fr 1fr}.ocr-tool-row{display:grid;gap:12px}.ocr-tool-row>.ocr-actions{display:grid;grid-template-columns:1fr 1fr}.ocr-tool-row>.ocr-actions button:last-child{grid-column:1/-1}.ocr-source-images{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.ocr-source-images img{height:72px}.ocr-records .ocr-section-title{align-items:flex-start;gap:8px}.ocr-records .ocr-section-title>div{min-width:0}.ocr-layout-toolbar{grid-template-columns:1fr 1fr}.ocr-layout-toolbar>label:first-child{grid-column:1/-1}.ocr-layout-dialog{padding:12px;width:calc(100vw - 12px)}.ocr-layout-dialog .ocr-section-title h2{font-size:17px}.ocr-layout-dialog .ocr-section-title{top:-12px}.ocr-zoom-controls{gap:6px}.ocr-zoom-controls button{font-size:11px;padding:7px}.ocr-zoom-controls input{max-width:none;width:110px}.ocr-layout-controls>.ocr-actions{display:grid;grid-template-columns:1fr 1fr}.ocr-layout-controls>.ocr-actions>button:last-child{grid-column:1/-1}.ocr-dialog input[type=number],.ocr-dialog select{font-size:16px}.ocr-canvas-viewport{height:40dvh;min-height:220px}}
.ocr-star-gallery:not([hidden]){display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;max-height:260px;overflow:auto}.ocr-star-gallery button{min-width:0;font-size:10px}.ocr-star-gallery img{height:36px}.ocr-star-gallery .is-selected{border-color:var(--clash-line, #d9dfd6);background:var(--clash-forest-pale, #f1f5ed)}.ocr-star-group>label{display:flex;align-items:flex-start;gap:6px;font-size:12px}.ocr-star-group>label input{width:auto;flex:none}
.ocr-zoom-controls button{white-space:nowrap;flex-shrink:0}
.ocr-upload-card .ocr-upload-picker{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,1fr);gap:14px 24px;padding:20px;border:1px dashed #b2c5e3;background:#f7faff;align-items:center}
.ocr-upload-intro label{font-size:14px;color:#243c60}
.ocr-upload-intro p{font-size:12px;color:#738198;line-height:1.6;margin:6px 0 0}
.ocr-upload-picker input[type=file]{max-width:none;width:100%;margin:0;padding:8px;background: var(--clash-surface, #fffdf8);font-size:13px;border-radius:10px;line-height:24px}
.ocr-upload-picker input[type=file]::file-selector-button{font:inherit;border:0;border-radius:7px;padding:8px 14px;margin-right:12px;background:var(--clash-forest-pale, #f1f5ed);color:var(--clash-forest, #315f58);cursor:pointer}
.ocr-upload-picker input[type=file]:focus-visible{outline:3px solid #abc4ff;outline-offset:3px}
.ocr-upload-picker>.ocr-section-title{grid-column:1/-1;border-top:1px solid #e2eaf5;padding-top:12px;min-width:0;font-size:12px;color:#536d90}
.ocr-upload-picker>small{grid-column:1/-1;color:#7a899d;font-size:11px;line-height:1.6;margin-top:-6px}
.ocr-upload-previews:empty{display:none}
@media(max-width:700px){.ocr-upload-card .ocr-upload-picker{grid-template-columns:minmax(0,1fr);padding:14px;gap:12px}.ocr-upload-picker input[type=file]{font-size:12px}.ocr-upload-picker input[type=file]::file-selector-button{padding:8px 12px;margin-right:8px}}
.ocr-mobile-only{display:none}
#ocr-project-tools{display:block;min-width:0}
.ocr-project-workspace .ocr-toolbar{align-items:flex-start;gap:16px}
.ocr-project-workspace .ocr-primary-actions{gap:8px;flex-shrink:0}
.ocr-project-workspace .ocr-primary-actions button{min-height:42px;white-space:nowrap}
.ocr-project-workspace .ocr-tool-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px 24px}
.ocr-tool-group{display:grid;gap:8px;min-width:0}
.ocr-tool-label{font-size:11px;color:#74849a;font-weight:600}
.ocr-tool-group .ocr-actions{gap:8px}
.ocr-tool-group button{min-height:40px;white-space:nowrap}
.ocr-project-workspace .ocr-tool-row #ocr-save-state{margin-left:auto;padding-bottom:10px;font-size:12px}
.ocr-project-workspace .ocr-records{padding:0;overflow:hidden}
.ocr-records>.ocr-section-title{padding:18px 20px;margin:0;border-bottom:1px solid var(--ocr-border)}
.ocr-project-workspace .ocr-table{min-width:1030px}
.ocr-project-workspace .ocr-table th{padding:12px;font-size:12px}
.ocr-project-workspace .ocr-table th:nth-child(1){width:120px}
.ocr-project-workspace .ocr-table th:nth-child(2){width:24%}
.ocr-project-workspace .ocr-table th:nth-child(3){width:21%}
.ocr-project-workspace .ocr-table th:nth-child(4){width:210px}
.ocr-project-workspace .ocr-table th:nth-child(6){width:70px}
.ocr-project-workspace .ocr-table td{padding:12px;vertical-align:middle}
.ocr-project-workspace .ocr-table tr:nth-child(even){background:#fafcff}
.ocr-project-workspace .ocr-table tr:hover{background:#f3f7fd}
.ocr-project-workspace .ocr-cell-stack{gap:7px;min-width:0}
.ocr-project-workspace .ocr-table td:first-child .ocr-cell-stack{grid-template-columns:1fr}
.ocr-project-workspace .ocr-table label{font-size:11px;gap:4px;font-weight:500;color:#66758a}
.ocr-project-workspace .ocr-table td:nth-child(-n+3) label{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;gap:6px}
.ocr-project-workspace .ocr-table td:first-child label{grid-template-columns:36px minmax(0,1fr)}
.ocr-project-workspace .ocr-table input{padding:7px 8px;border-radius:6px;font-size:13px;line-height:20px;height:36px}
.ocr-project-workspace .ocr-table input[type=number]{appearance:textfield;-moz-appearance:textfield;padding-inline:6px}
.ocr-project-workspace .ocr-table input[type=number]::-webkit-inner-spin-button{appearance:none}
.ocr-project-workspace .ocr-table input[type=checkbox]{height:16px;width:16px}
.ocr-project-workspace .ocr-inline{gap:8px;align-items:flex-end}
.ocr-project-workspace .ocr-inline label{flex:1;min-width:0;white-space:nowrap}
.ocr-project-workspace .ocr-crops{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%}
.ocr-project-workspace .ocr-crop-card{display:grid;grid-template-rows:auto minmax(48px,auto);gap:5px;min-width:0;padding:7px;border:1px solid #e2e8f1;border-radius:8px;background:#f8faff}
.ocr-project-workspace .ocr-crop-caption{font-size:11px;line-height:1.2;color:#66758a}
.ocr-project-workspace .ocr-crops img{display:block;height:48px;width:100%;object-fit:contain;object-position:center;background:#edf2f8;border-radius:4px}
.ocr-project-workspace .ocr-row-has-issue{outline:3px solid #dc4b4b;outline-offset:-3px;background:#fff4f3}
.ocr-project-workspace .ocr-table td:last-child button{padding:7px 9px;color:#b33b4a;white-space:nowrap}
.ocr-project-workspace .ocr-tool-row>.ocr-actions{gap:8px}
.ocr-project-workspace .ocr-tool-row #ocr-save-state{white-space:nowrap}
.ocr-metadata-form{display:grid;gap:18px;padding:12px 0}
.ocr-metadata-form>.ocr-muted{margin:0}
.ocr-metadata-form>button{justify-self:end;min-width:150px}
@media(max-width:700px){
  .ocr-records>.ocr-section-title{padding:16px}
  .ocr-project-workspace .ocr-table{min-width:0;width:100%}
  .ocr-project-workspace .ocr-table-scroll{padding:12px;background:#f2f5fa}
  .ocr-project-workspace .ocr-table tr,.ocr-project-workspace .ocr-table tr:nth-child(even){background: var(--clash-surface, #fffdf8);padding:12px;gap:12px}
  .ocr-project-workspace .ocr-table td{padding:0}
  .ocr-project-workspace .ocr-table td:first-child{grid-column:1;min-width:130px}
  .ocr-project-workspace .ocr-table td:first-child .ocr-cell-stack{grid-template-columns:1fr 1fr;gap:8px}
  .ocr-project-workspace .ocr-table td:first-child label{display:grid;grid-template-columns:1fr;gap:4px}
  .ocr-project-workspace .ocr-table td:nth-child(2)::before,.ocr-project-workspace .ocr-table td:nth-child(3)::before,.ocr-project-workspace .ocr-table td:first-child::before{display:none}
  .ocr-project-workspace .ocr-table input{font-size:16px;height:40px}
  .ocr-project-workspace .ocr-table td:nth-child(2) label,.ocr-project-workspace .ocr-table td:nth-child(3) label{grid-template-columns:52px minmax(0,1fr)}
  .ocr-project-workspace .ocr-crops img{width:31%;height:38px}
  .ocr-project-workspace .ocr-tool-row>.ocr-actions{grid-template-columns:1fr 1fr;width:100%}
  .ocr-project-workspace .ocr-tool-row>.ocr-actions button{min-height:42px}
  .ocr-metadata-form>button{width:100%}
}

.ocr-project-workspace .ocr-member-list{display:grid;gap:18px;padding:18px;min-width:0}
.ocr-project-workspace .ocr-position-nav{display:flex;flex-wrap:wrap;gap:7px;padding:0 18px 12px}
.ocr-project-workspace .ocr-position-jump{min-width:42px;padding:6px 9px;border:1px solid #cbd7e6;border-radius:999px;background:#f4f7fb;color:#29415f;font-size:12px}
.ocr-project-workspace .ocr-position-jump.has-issue{border-color:#c53a4b;background:#fff0f1;color:#a62033;font-weight:750;box-shadow:inset 0 0 0 1px #f4c2c8}
.ocr-project-workspace .ocr-position-jump.is-conflict{border-color:#c53a4b;background:#fff0f1;color:#a62033;font-weight:700;box-shadow:inset 0 0 0 1px #f4c2c8}
.ocr-project-workspace .ocr-position-jump.is-warning{border-color:#d99b32;background:#fff7df;color:#895b13;font-weight:700;box-shadow:inset 0 0 0 1px #f0d28e}
.ocr-project-workspace .ocr-member-card{scroll-margin-top:18px}
.ocr-project-workspace .ocr-duplicate-sources{flex-basis:100%;margin-top:6px;padding:6px 9px;border-top:1px solid #e8edf4;color:#596d86;font-size:11px}
.ocr-project-workspace .ocr-duplicate-sources summary{cursor:pointer}
.ocr-project-workspace .ocr-duplicate-sources button{display:block;margin-top:5px;padding:3px 0;border:0;background:transparent;color:#315e91;text-align:left;font-size:11px;overflow-wrap:anywhere}
.ocr-project-workspace .ocr-member-card{min-width:0;border:1px solid #dce5f1;border-radius:14px;background: var(--clash-surface, #fffdf8);overflow:hidden}
.ocr-project-workspace .ocr-member-card-header{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 16px;background:#f2f6fc;border-bottom:1px solid #e3eaf3}
.ocr-project-workspace .ocr-member-card-header strong{min-width:0;overflow-wrap:anywhere;color:#20334f;font-size:15px}
.ocr-project-workspace .ocr-knife-card{display:grid;grid-template-columns:100px minmax(190px,1.2fr) minmax(170px,1fr) minmax(210px,1.1fr) minmax(190px,1fr) 58px;gap:12px;align-items:start;padding:14px;border-bottom:1px solid #edf1f6;min-width:0}
.ocr-project-workspace .ocr-knife-card:last-child{border-bottom:0}
.ocr-project-workspace .ocr-knife-field{min-width:0}
.ocr-project-workspace .ocr-knife-field label{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:8px;font-size:11px;font-weight:500;color:#66758a}
.ocr-project-workspace .ocr-knife-field label:last-child{margin-bottom:0}
.ocr-project-workspace .ocr-knife-field input:not([type=checkbox]){width:100%;min-width:0;padding:7px 8px;border:1px solid #d8e0eb;border-radius:7px;font-size:13px;line-height:20px;height:36px}
.ocr-project-workspace .ocr-knife-field input[type=number]{appearance:textfield;-moz-appearance:textfield;padding-inline:6px}
.ocr-project-workspace .ocr-knife-field input[type=number]::-webkit-inner-spin-button{appearance:none}
.ocr-project-workspace .ocr-knife-field .ocr-inline{display:flex;gap:6px;align-items:flex-end}
.ocr-project-workspace .ocr-knife-field .ocr-inline label{flex:1;min-width:0}
.ocr-project-workspace .ocr-knife-field .ocr-crops{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;width:100%}
.ocr-project-workspace .ocr-knife-field .ocr-crop-card{display:grid;grid-template-rows:auto minmax(44px,auto);gap:4px;min-width:0;padding:6px;border:1px solid #e2e8f1;border-radius:7px;background:#f8faff}
.ocr-project-workspace .ocr-knife-field .ocr-crop-caption{font-size:10px;line-height:1.2;color:#66758a}
.ocr-project-workspace .ocr-knife-field .ocr-crops img{display:block;width:100%;height:44px;object-fit:contain;background:#edf2f8;border-radius:4px;cursor:zoom-in}
.ocr-project-workspace .ocr-knife-card.ocr-row-has-issue{outline:3px solid #dc4b4b;outline-offset:-3px;background:#fff4f3}
.ocr-project-workspace .ocr-knife-field:last-child button{padding:7px;color:#b33b4a;white-space:nowrap}
@media(max-width:1100px) and (min-width:701px){.ocr-project-workspace .ocr-knife-card{grid-template-columns:90px minmax(160px,1.2fr) minmax(140px,1fr) minmax(190px,1.2fr) minmax(160px,1fr) 54px;gap:8px;padding:10px}}

.ocr-project-workspace .ocr-member-identity{display:grid;grid-template-columns:90px minmax(260px,1fr) minmax(180px,1fr);gap:12px;align-items:start;padding:14px;background:#fbfcfe;border-bottom:1px solid #edf1f6}
.ocr-project-workspace .ocr-member-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.ocr-project-workspace .ocr-member-identity label,.ocr-project-workspace .ocr-knife-field label{display:grid;grid-template-columns:1fr;gap:5px;margin-bottom:0;font-size:11px;color:#66758a}
.ocr-project-workspace .ocr-member-warning{color:#b33b4a;align-self:center}
.ocr-project-workspace .ocr-member-crops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;min-width:0}
.ocr-project-workspace .ocr-member-crops .ocr-crop-card{display:grid;grid-template-rows:auto 52px;gap:4px;padding:6px;border:1px solid #e2e8f1;border-radius:7px;background:#f8faff;min-width:0}
.ocr-project-workspace .ocr-member-crops img{width:100%;height:52px;object-fit:contain;background:#edf2f8;border-radius:4px;cursor:zoom-in}
.ocr-project-workspace .ocr-knife-card{grid-template-columns:86px minmax(190px,1.1fr) minmax(210px,1.1fr) minmax(220px,1fr) 78px}

.ocr-project-workspace .ocr-member-attacks-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 14px;background: var(--clash-surface, #fffdf8);border-bottom:1px solid #edf1f6;color:#526680;font-size:12px}
/* Attack review: compact editor above a single, aligned evidence strip. */
.ocr-project-workspace .ocr-member-card > .ocr-knife-card {
  display: grid;
  visibility: visible;
  opacity: 1;
  position: relative;
}
@media (min-width: 701px) {
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card {
    grid-template-columns: 64px minmax(180px, 1.4fr) minmax(240px, 1fr) 164px;
    gap: 14px 18px;
    align-items: start;
    margin: 12px;
    padding: 18px;
    border: 1px solid #e2e8f1;
    border-radius: 12px;
    background: var(--clash-surface, #fffdf8);
    box-shadow: 0 2px 6px #20334f04;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card:last-child {
    border-bottom: 1px solid #e2e8f1;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(1) { grid-column: 1; grid-row: 1; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(2) { grid-column: 2; grid-row: 1; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(3) { grid-column: 3; grid-row: 1; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(4) {
    grid-column: 2 / -1;
    grid-row: 2;
    padding-top: 12px;
    border-top: 1px dashed #e2e8f1;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(5) {
    grid-column: 4; grid-row: 1; justify-self: end; padding-top: 20px;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-knife-field label {
    font-size: 12px; gap: 6px; margin: 0;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-knife-field input:not([type=checkbox]) {
    height: 38px; border-radius: 8px; background: #fbfcfe;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-knife-field input:focus-visible {
    outline: 2px solid #759eef; outline-offset: 2px; background: var(--clash-surface, #fffdf8);
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(1) input {
    text-align: center; font-weight: 700; color: var(--clash-forest, #315f58); background: var(--clash-forest-pale, #f1f5ed);
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(2) .ocr-cell-stack {
    grid-template-columns: minmax(0, 1fr) 72px; gap: 10px; align-items: end;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-inline { gap: 10px; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card input[type=number] { text-align: center; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-row-check {
    display: flex; flex-direction: row-reverse; justify-content: flex-end;
    align-items: center; gap: 6px; margin-top: 8px; font-size: 11px;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-crops {
    display: grid; grid-template-columns: minmax(0, 2fr) repeat(2, minmax(0, 1fr)); gap: 10px;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-crop-card {
    grid-template-rows: auto 56px; padding: 8px 10px; gap: 6px;
    border: 1px solid #e7ecf3; border-radius: 8px; background: #f8fafd;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-crop-caption { font-size: 11px; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-crops img {
    width: 100%; height: 56px; background: #edf1f6; border-radius: 5px;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:last-child button {
    padding: 8px 10px; font-size: 11px; border: 1px solid #f0dce0;
    border-radius: 8px; background: var(--clash-surface, #fffdf8); color: #b45262;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:last-child button:hover:not(:disabled) {
    background: #fff1f3; border-color: #e6b5bf;
  }
}
@media (min-width: 701px) and (max-width: 1150px) {
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card {
    grid-template-columns: 56px minmax(0, 1fr) 164px; gap: 12px; padding: 14px;
  }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(3) { grid-column: 2; grid-row: 2; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(4) { grid-column: 1 / -1; grid-row: 3; }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card > .ocr-knife-field:nth-child(5) { grid-column: 3; }
}

/* Keep attack status next to its action rather than below the score fields. */
.ocr-project-workspace .ocr-knife-actions {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 12px;
  white-space: nowrap;
}
.ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-knife-actions .ocr-row-check {
  flex-direction: row-reverse;
  justify-content: flex-end;
  margin: 0;
  min-height: 0;
  gap: 6px;
}
.ocr-project-workspace .ocr-knife-actions input[type=checkbox] { margin: 0; }
@media (min-width: 701px) {
  .ocr-project-workspace .ocr-member-crops .ocr-crop-card {
    box-sizing: border-box;
    height: 60px;
    grid-template-rows: 12px minmax(0, 1fr);
    gap: 3px;
    padding: 4px 6px;
  }
  .ocr-project-workspace .ocr-member-crops .ocr-crop-caption { font-size: 10px; line-height: 12px; }
  .ocr-project-workspace .ocr-member-crops img { height: 31px; min-height: 0; }
}

/* Searchable roster picker shared by desktop and touch devices. */
.ocr-match-field { display: grid; grid-template-rows: auto auto; gap: 5px; min-width: 0; }
.ocr-match-caption { font-size: 11px; line-height: 1.6; color: #66758a; }
.ocr-project-workspace .ocr-match-field .ocr-match-open {
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  width: 100%; min-width: 0; height: 38px; padding: 6px 10px; text-align: left;
  border: 1px solid #d5dfec; border-radius: 8px; background: var(--clash-surface, #fffdf8); color: #243650;
}
.ocr-match-value { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ocr-match-action { flex: 0 0 auto; color: #315bad; font-size: 11px; }
.ocr-member-picker-dialog { max-width: 680px; }
.ocr-member-picker { display: grid; gap: 14px; min-width: 0; }
.ocr-member-picker .ocr-muted { margin: 0; }
.ocr-picker-status { margin: 0; font-size: 12px; color: #66758a; }
.ocr-picker-list { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.ocr-dialog .ocr-picker-choice {
  min-width: 0; min-height: 42px; padding: 10px; text-align: left;
  overflow-wrap: anywhere; white-space: normal; background: var(--clash-surface, #fffdf8);
}
.ocr-dialog .ocr-picker-choice:hover, .ocr-dialog .ocr-picker-choice[aria-pressed=true] {
  border-color: var(--clash-line, #d9dfd6); background: var(--clash-forest-pale, #f1f5ed); color: var(--clash-forest, #315f58);
}
.ocr-picker-recommendations:empty { display: none; }
.ocr-picker-recommendations { padding: 12px; border: 1px solid #dbe6fb; background: #f5f8ff; border-radius: 10px; }
.ocr-picker-recommendations h3 { margin: 0 0 10px; font-size: 13px; color: #315bad; }
@media(max-width: 700px) {
  .ocr-member-picker-dialog { width: calc(100vw - 20px); padding: 16px; max-height: 85dvh; }
  .ocr-member-picker-dialog .ocr-section-title { top: -16px; }
  .ocr-picker-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ocr-dialog .ocr-member-picker input { font-size: 16px; }
}

.ocr-picker-context { position: sticky; top: 0; z-index: 2; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); align-items: center; gap: 14px; padding: 12px; border: 1px solid #dce5f1; border-radius: 10px; background: #f8faff; box-shadow: 0 4px 10px #2436500a; }
.ocr-picker-context h3 { margin: 0; font-size: 13px; }
.ocr-picker-recognized, .ocr-picker-current { margin: 0; font-size: 12px; overflow-wrap: anywhere; }
.ocr-picker-current { color: #315bad; }
.ocr-picker-evidence { display: grid; gap: 8px; min-width: 0; max-height: 180px; overflow: auto; }
.ocr-picker-evidence-card { margin: 0; min-width: 0; }
.ocr-picker-evidence-card figcaption { margin-bottom: 4px; font-size: 11px; color: #66758a; }
.ocr-dialog .ocr-picker-evidence-image { display: block; width: 100%; padding: 4px; background: #edf2f8; cursor: zoom-in; }
.ocr-picker-evidence-image img { display: block; width: 100%; height: 64px; object-fit: contain; }
.ocr-picker-evidence-image.is-expanded { cursor: zoom-out; }
.ocr-picker-evidence-image.is-expanded img { height: auto; max-height: 160px; object-fit: contain; }
@media(max-width: 700px) {
  .ocr-match-field { grid-template-rows: auto auto; gap: 3px; }
  .ocr-match-caption { font-size: 10px; }
  .ocr-project-workspace .ocr-match-field .ocr-match-open { height: 36px; padding: 5px 7px; font-size: 14px; }
  .ocr-picker-context { padding: 10px; gap: 10px; }
  .ocr-picker-evidence-image img { height: 58px; }
}

/* Only the compact screenshot reference stays visible; search/results scroll. */
.ocr-picker-overview { min-width: 0; }
.ocr-picker-identity { display: grid; gap: 8px; min-width: 0; }
@media(max-width: 480px) {
  .ocr-picker-context { grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 8px; padding: 8px; }
  .ocr-picker-identity { gap: 5px; }
  .ocr-picker-evidence { max-height: 116px; }
  .ocr-picker-evidence-card figcaption { font-size: 10px; }
  .ocr-picker-evidence-image.is-expanded img { max-height: 88px; }
  .ocr-picker-recommendations { padding: 10px; }
  .ocr-picker-identity h3 { font-size: 12px; }
  .ocr-picker-overview .ocr-picker-recognized, .ocr-picker-overview .ocr-picker-current { font-size: 11px; }
}

.ocr-crops:has(>.ocr-crop-card:only-child){grid-template-columns:minmax(0,1fr)}

.ocr-match-controls { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; min-width: 0; }
.ocr-project-workspace .ocr-match-controls .ocr-match-open { flex: 1 1 120px; width: auto; max-width: 100%; }
.ocr-project-workspace .ocr-confirm-new-member { flex: 0 1 auto; max-width: 100%; min-height: 38px; padding: 6px 8px; font-size: 11px; white-space: normal; overflow-wrap: anywhere; }
.ocr-project-workspace .ocr-confirm-new-member[aria-pressed=true] { color: #24714d; border-color: #abd1bd; background: #f0faf4; }
.ocr-confirm-new-member[hidden] { display: none !important; }
@media (min-width: 701px) {
  .ocr-project-workspace .ocr-member-card > .ocr-continuation-row { margin-top: 4px; padding-top: 12px; }
  .ocr-continuation-row label:not(.ocr-row-check) > .ocr-field-caption { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
  .ocr-project-workspace .ocr-member-card > .ocr-continuation-row .ocr-knife-field label:not(.ocr-row-check) { gap: 0; }
  .ocr-project-workspace .ocr-member-card > .ocr-continuation-row > .ocr-knife-field:nth-child(5) { padding-top: 0; }
}

/* Current, actionable review issues; historical OCR diagnostics stay in details. */
.ocr-current-issues { margin-top: 12px; padding: 12px; border: 1px solid #f0c8ce; border-radius: 10px; background: #fff8f8; }
.ocr-current-issues[hidden] { display: none; }
.ocr-live-conflicts { display: contents; }
.ocr-missing-member { padding: 16px; border: 2px dashed #c53a4b; border-radius: 12px; background: #fff8f8; color: #8d2435; scroll-margin-top: 180px; }
.ocr-missing-member p { margin: 8px 0 12px; line-height: 1.6; }
.ocr-missing-member:focus-visible { outline: 3px solid #315e91; outline-offset: 3px; }
.ocr-project-workspace .ocr-position-jump.is-missing { border: 2px dashed #c53a4b; background: #fff8f8; color: #8d2435; }
.ocr-issue-heading { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; font-size: 13px; }
.ocr-current-issue-list { margin: 8px 0 0; padding: 0; list-style: none; max-height: 190px; overflow: auto; }
.ocr-workspace .ocr-current-issue-list button { border: 0; background: transparent; color: #a62d42; text-align: left; padding: 6px 2px; white-space: normal; overflow-wrap: anywhere; text-decoration: underline; text-underline-offset: 3px; }
.ocr-project-workspace .ocr-member-has-issue { border-color: #e7a6b0; }
.ocr-project-workspace .ocr-member-has-issue > .ocr-member-card-header,
.ocr-project-workspace .ocr-member-has-issue > .ocr-member-identity { background: #fff1f3; }
.ocr-project-workspace .ocr-member-has-issue > .ocr-member-card-header strong { color: #a62d42; }
.ocr-project-workspace .ocr-member-card > .ocr-knife-card.ocr-row-has-issue { border-color: #e7a6b0; background: #fffafa; box-shadow: inset 3px 0 #d45970; }
.ocr-knife-card { scroll-margin-block: 100px; }
.ocr-knife-card:focus { outline: 3px solid #d45970; outline-offset: 3px; }

.ocr-project-workspace .ocr-conflict-details { grid-column: 1 / -1; min-width: 0; padding: 10px 12px; border: 1px solid #e7bd75; border-radius: 10px; background: #fffaf0; }
.ocr-project-workspace .ocr-conflict-list { display: grid; gap: 10px; }
.ocr-conflict-details > summary { color: #825313; font-size: 12px; font-weight: 700; cursor: pointer; overflow-wrap: anywhere; }
.ocr-conflict-candidates { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 10px 0; }
.ocr-conflict-candidate { display: grid; align-content: start; gap: 8px; min-width: 0; padding: 10px; border: 1px solid #e7e1d4; border-radius: 8px; background: #fff; }
.ocr-conflict-candidate-title { color: #42576f; font-size: 12px; }
.ocr-conflict-image-figure { position: relative; display: grid; gap: 4px; min-width: 0; margin: 0; }
.ocr-conflict-image-figure figcaption { color: #596b7d; font-size: 11px; overflow-wrap: anywhere; }
.ocr-conflict-source-image, .ocr-conflict-crop { display: block; width: 100%; max-height: 150px; object-fit: contain; cursor: zoom-in; border-radius: 5px; background: #f1f3f5; }
.ocr-conflict-source-image { max-height: 190px; }
.ocr-conflict-image-figure.ocr-image-unavailable::after { content: '图片暂时无法加载，请查看原始截图'; padding: 8px; color: #825313; font-size: 12px; background: #fff5dc; border-radius: 5px; }
.ocr-conflict-values { display: grid; gap: 3px; margin: 0; }
.ocr-conflict-value { display: flex; justify-content: space-between; gap: 8px; min-width: 0; padding: 3px 5px; border-radius: 4px; font-size: 11px; }
.ocr-conflict-value dt { color: #6f7b87; }
.ocr-conflict-value dd { margin: 0; color: #26394d; text-align: right; overflow-wrap: anywhere; }
.ocr-conflict-value.ocr-conflict-different { background: #fff0c9; }
.ocr-conflict-details > button { justify-self: start; margin: 0 6px 4px 0; }
.ocr-conflict-details[open] { box-shadow: inset 3px 0 #d79b37; }
.ocr-project-workspace .ocr-name-warning { grid-column:1/-1; min-width:0; padding:9px 12px; border:1px solid #e4bd68; border-radius:9px; background:#fff9e9; color:#765014; }
.ocr-project-workspace .ocr-name-warning summary { cursor:pointer; font-size:12px; font-weight:700; }
.ocr-project-workspace .ocr-name-warning-list { display:grid; grid-template-columns:repeat(auto-fit,minmax(180px,1fr)); gap:8px; margin-top:9px; }
.ocr-project-workspace .ocr-name-warning-source { display:grid; gap:5px; padding:8px; border:1px solid #efdfb9; border-radius:7px; background:#fff; font-size:12px; }
.ocr-project-workspace .ocr-name-warning-source p { margin:0; color:#536273; }
.ocr-project-workspace .ocr-name-warning-image { width:100%; max-height:130px; object-fit:contain; cursor:zoom-in; background:#f2f3f5; }
@media (max-width: 700px) {
  .ocr-conflict-candidates { grid-template-columns: minmax(0, 1fr); }
  .ocr-project-workspace .ocr-conflict-details { padding: 9px; }
  .ocr-conflict-candidate { padding: 8px; }
}

/* One fixed header, one scrollable body: never paint controls beneath the title. */
#ocr-modal[open] { display: flex; flex-direction: column; overflow: hidden; max-height: 92dvh; padding: 18px 22px; }
#ocr-modal > .ocr-section-title { position: static; flex: 0 0 auto; top: auto; margin: 0; padding: 0 0 12px; border-bottom: 1px solid #e2e8f1; gap: 16px; background: var(--clash-surface, #fffdf8); }
#ocr-modal-title { margin: 0; font-size: 20px; line-height: 1.4; }
#ocr-modal-close { flex: 0 0 auto; }
#ocr-modal-body { min-height: 0; min-width: 0; overflow: auto; overscroll-behavior: contain; padding-top: 12px; scrollbar-gutter: stable; }
#ocr-modal [hidden] { display: none !important; }
#ocr-modal-body > p:first-child { margin-top: 0; font-size: 13px; line-height: 1.6; }
#ocr-modal .ocr-checkbox-label { display: flex; flex-direction: row-reverse; justify-content: flex-end; align-items: flex-start; gap: 8px; font-size: 12px; line-height: 1.5; font-weight: 400; margin: 0; }
#ocr-modal .ocr-checkbox-label input[type=checkbox] { flex: 0 0 16px; width: 16px; height: 16px; margin: 1px 0 0; padding: 0; }
#ocr-modal.ocr-import-dialog { max-width:640px; }
#ocr-modal.ocr-import-dialog #ocr-modal-body { display:grid; gap:14px; }
.ocr-import-summary { display:grid; gap:8px; padding:16px; border:1px solid #d8e6dc; border-radius:12px; background:#f4f8f2; }
.ocr-import-eyebrow { color:#587365; font-size:12px; font-weight:700; }
.ocr-import-counts { display:flex; align-items:baseline; flex-wrap:wrap; gap:6px 10px; color:#314b43; }
.ocr-import-counts strong { font-size:25px; line-height:1.2; color:#24584e; }
.ocr-import-counts span { margin-right:12px; font-size:14px; }
.ocr-import-warning { margin:0; padding-top:8px; border-top:1px solid #dce7de; color:#855c23; font-size:12px; line-height:1.6; }
#ocr-modal .ocr-new-members { display:grid; gap:8px; margin:0; padding:14px; border:1px solid #e1e7ef; border-radius:12px; background:#fff; }
.ocr-new-members h3 { margin:0; color:#2d4057; font-size:14px; }
.ocr-new-members > .ocr-muted { margin:0; font-size:12px; line-height:1.6; }
#ocr-modal .ocr-new-members label { display:flex; align-items:flex-start; gap:9px; padding:9px 10px; border:1px solid #e4eaf1; border-radius:8px; background:#f8faff; font-size:13px; line-height:1.5; }
#ocr-modal .ocr-new-members input[type=checkbox] { flex:0 0 18px; width:18px; height:18px; margin:1px 0 0; }
.ocr-import-footer { display:grid; gap:12px; padding-top:12px; border-top:1px solid #e2e8f0; }
#ocr-modal .ocr-import-footer .ocr-import-review-line { display:flex!important; flex-direction:row!important; align-items:center!important; justify-content:flex-start!important; gap:8px; width:100%; box-sizing:border-box; padding:10px 12px; border-radius:9px; background:#f4f7fb; font-size:13px; }
#ocr-modal .ocr-import-footer .ocr-import-review-line > input[type=checkbox] { display:block!important; flex:0 0 16px; width:16px; height:16px; margin:0; }
#ocr-modal .ocr-import-footer .ocr-import-review-line > span { display:block!important; position:static!important; width:auto!important; height:auto!important; overflow:visible!important; clip-path:none!important; white-space:normal!important; }
#ocr-modal .ocr-import-footer > button { width:100%; min-height:46px; font-weight:700; }
#ocr-modal.ocr-calibration-dialog { max-width: 1100px; }
.ocr-calibration-grid { align-items: start; }
.ocr-star-group { align-content: start; grid-auto-rows: max-content; min-width: 0; }
.ocr-star-group > small { margin: 0; }
.ocr-dialog .ocr-star-group > img { height: 72px; }
.ocr-star-group > button { min-height: 34px; }
.ocr-star-gallery[hidden] { display: none; }
.ocr-star-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: 72px; gap: 6px; max-height: 230px; overflow: auto; padding: 4px; align-content: start; }
.ocr-dialog .ocr-star-gallery button { display: grid; grid-template-rows: 44px 14px; gap: 3px; padding: 4px; min-width: 0; height: 72px; box-sizing: border-box; font-size: 10px; line-height: 1.3; }
.ocr-dialog .ocr-star-gallery img { display: block; width: 100%; height: 44px; }
.ocr-star-gallery .is-selected { outline: 2px solid #325bd0; outline-offset: -2px; }
.ocr-calibration-footer { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; margin-top: 12px; padding: 12px 0 2px; border-top: 1px solid #e2e8f1; }
#ocr-modal .ocr-layout-controls { grid-template-columns: minmax(220px, 1fr) minmax(0, 2fr); gap: 10px 16px; margin: 0; align-items: end; }
#ocr-modal.ocr-layout-dialog #ocr-modal-body { display: block; overflow: auto; }
#ocr-modal .ocr-layout-controls { min-height: 0; overflow: visible; padding-right: 0; }
#ocr-modal .ocr-layout-footer { border-top: 1px solid #e2e8f1; padding-top: 10px; margin-top: 10px; gap: 8px; }
.ocr-layout-controls > .ocr-layout-toolbar,
.ocr-layout-controls > .ocr-zoom-controls,
.ocr-layout-controls > .ocr-layout-note,
.ocr-layout-controls > .ocr-canvas-viewport { grid-column: 1 / -1; }
#ocr-modal .ocr-layout-controls > .ocr-layout-coordinates { max-width: none; margin: 0; }
#ocr-modal .ocr-layout-controls > .ocr-member-frame-coordinates { grid-column: 1 / -1; grid-template-columns: repeat(4, minmax(0, 1fr)); }
#ocr-modal .ocr-layout-controls input[type=number], #ocr-modal .ocr-layout-controls select { padding: 6px 8px; height: 34px; }
#ocr-modal .ocr-layout-controls .ocr-actions { margin: 0; gap: 8px; }
#ocr-modal .ocr-member-frame-tools { align-items: flex-end; }
#ocr-modal .ocr-member-frame-tools > label { display: grid; gap: 6px; margin: 0; font-size: 12px; line-height: normal; color: #526680; }
#ocr-modal .ocr-member-frame-tools > button { min-height: 34px; height: 34px; box-sizing: border-box; padding: 6px 10px; }
#ocr-modal .ocr-layout-controls .ocr-actions button { padding: 7px 10px; }
#ocr-modal .ocr-zoom-controls { padding: 6px 8px; }
#ocr-modal .ocr-layout-note { font-size: 11px; }
#ocr-modal .ocr-canvas-viewport { height: clamp(240px, 48dvh, 620px); }

/* Attack evidence is a compact horizontal label + image, not two stacked rows. */
.ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-crop-card.ocr-attack-evidence {
  display: grid; grid-template-columns: 88px minmax(0, 1fr); grid-template-rows: minmax(0, auto); align-items: center; gap: 10px; padding: 6px 8px;
}
.ocr-project-workspace .ocr-attack-evidence .ocr-crop-caption { line-height: 1.5; }
.ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-attack-evidence img { height: 44px; width: 100%; object-position: left center; }
@media (max-width: 700px) {
  #ocr-modal[open] { padding: 14px; max-height: 90dvh; }
  #ocr-modal-title { font-size: 17px; }
  .ocr-calibration-grid { grid-template-columns: minmax(0, 1fr); }
  .ocr-star-gallery { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .ocr-project-workspace .ocr-member-card > .ocr-knife-card .ocr-crop-card.ocr-attack-evidence { grid-template-columns: 65px minmax(0, 1fr); gap: 6px; }
  .ocr-current-issues { padding: 10px; }
}

/* Upload composer: one clear drop surface, without nested native-file frames. */
.ocr-upload-card > .ocr-section-title h2 { margin: 0; font-size: 19px; }
.ocr-upload-meta { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin: 12px 0 22px; }
.ocr-upload-meta .ocr-muted { margin: 0; font-size: 12px; }
.ocr-quota-chip { display: flex; gap: 6px; flex-wrap: wrap; align-items: center; margin: 0; padding: 6px 10px; border-radius: 7px; background: #f3f6fa; color: #65748a; font-size: 11px; }
.ocr-quota-chip strong { color: #33496a; font-weight: 600; }
.ocr-quota-chip [role="alert"] { color: #b42335; }
.ocr-upload-card .ocr-form-grid { gap: 14px; }
.ocr-upload-card .ocr-upload-picker { display: block; margin: 22px 0 16px; padding: 0; border: 0; background: transparent; text-align: left; }
.ocr-upload-picker .ocr-upload-intro { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 10px; }
.ocr-upload-intro h3 { margin: 0; color: #243c60; font-size: 13px; }
.ocr-upload-intro #ocr-selected-count { font-size: 12px; color: #6b7d94; }
.ocr-upload-picker .ocr-drop-target { position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 12px; min-height: 184px; box-sizing: border-box; border: 1px dashed #b8c9e2; border-radius: 12px; padding: 24px; background: linear-gradient(135deg, #f7faff, #fbfcff); cursor: pointer; text-align: center; transition: border-color .15s, background .15s, box-shadow .15s; }
.ocr-drop-icon { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid #e1eaff; border-radius: 12px; background: var(--clash-forest-pale, #f1f5ed); color: var(--clash-forest, #315f58); }
.ocr-drop-icon svg { width: 25px; height: 25px; }
.ocr-drop-copy { display: grid; gap: 7px; }
.ocr-drop-copy > strong { color: #293e5e; font-size: 15px; font-weight: 600; }
.ocr-drop-copy > span { color: #7a899f; font-size: 12px; font-weight: 400; }
.ocr-drop-link { margin-left: 4px; color: #325bd0; text-decoration: underline; text-underline-offset: 4px; }
.ocr-upload-card .ocr-upload-picker #ocr-images { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; min-height: 0; max-width: none; margin: 0; padding: 0; border: 0; cursor: pointer; }
.ocr-upload-picker .ocr-drop-target:hover, .ocr-upload-picker .ocr-drop-target:focus-within { border-color: #6589d6; box-shadow: 0 0 0 3px #325bd00c; }
.ocr-upload-card .ocr-upload-picker.is-file-dragging { background: transparent; box-shadow: none; }
.ocr-upload-picker.is-file-dragging .ocr-drop-target { border-color: var(--clash-line, #d9dfd6); background: var(--clash-forest-pale, #f1f5ed); box-shadow: 0 0 0 3px #325bd01a; }
.ocr-upload-picker .ocr-upload-footer { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; padding-top: 10px; }
.ocr-upload-footer > div { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 16px; }
.ocr-upload-footer #ocr-upload-limits { color: #7a899f; font-size: 11px; line-height: 1.6; }
.ocr-upload-footer #ocr-upload-limits span { padding: 0 3px; color: #b4bfce; }
.ocr-upload-footer #ocr-upload-original { color: #9a6a26; font-size: 11px; font-weight: 400; line-height: 1.6; }
.ocr-upload-footer #ocr-clear-images { padding: 5px 10px; font-size: 12px; min-height: 30px; }
.ocr-upload-picker .file-upload-hint, .ocr-upload-picker .file-upload-status:not(.is-error) { display: none; }
.ocr-upload-card .ocr-submit-bar { border-top: 1px solid #edf1f6; margin-top: 18px; padding-top: 16px; gap: 14px; }
.ocr-submit-bar .btn-primary { min-height: 42px; padding: 10px 18px; }
.ocr-submit-bar .btn-primary > span { margin-left: 12px; }
.ocr-upload-card .is-quota-full .ocr-drop-target { opacity: .55; cursor: not-allowed; }
.ocr-upload-card .is-quota-full #ocr-images { cursor: not-allowed; }
@media (max-width: 700px) {
  .ocr-upload-card > .ocr-section-title { flex-direction: row; align-items: center; }
  .ocr-upload-card > .ocr-section-title h2 { font-size: 17px; }
  .ocr-upload-card > .ocr-section-title .ocr-badge { font-size: 10px; }
  .ocr-upload-meta { gap: 8px; margin: 10px 0 18px; }
  .ocr-quota-chip { font-size: 10px; padding: 5px 8px; }
  .ocr-quota-chip > span { display: none; }
  .ocr-upload-card .ocr-upload-picker { margin-top: 20px; padding: 0; }
  .ocr-upload-picker .ocr-drop-target { min-height: 168px; padding: 20px 12px; }
  .ocr-drop-copy > strong { font-size: 14px; }
  .ocr-upload-footer > div { display: grid; gap: 3px; }
  .ocr-upload-card .ocr-submit-bar { display: grid; grid-template-columns: minmax(0, 1fr); gap: 9px; }
  .ocr-submit-bar .btn-primary { width: 100%; }
  .ocr-submit-bar .ocr-muted { font-size: 11px; text-align: center; }
}


/* Compact cleanup cards and persistent review navigation. */
.ocr-cleanup-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; margin:14px 0; }
.ocr-cleanup-actions form { min-width:0; display:flex; flex-direction:column; gap:6px; }
.ocr-workspace .ocr-cleanup-actions button { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:4px 8px; width:100%; min-height:44px; text-align:left; padding:10px 12px; font-size:12px; }
.ocr-cleanup-count { font-size:11px; color:#738198; }
.ocr-cleanup-actions small { display:block; color:#738198; font-size:10px; line-height:1.6; overflow-wrap:anywhere; }
.ocr-project-workspace > .ocr-primary-actions { position:sticky; bottom:12px; z-index:40; display:flex; justify-content:flex-end; padding:12px 16px; border:1px solid #dce5f1; border-radius:12px; background:#fffffff5; box-shadow:0 -4px 20px #203a6010; }
.ocr-project-workspace .ocr-knife-card { scroll-margin-block:100px 150px; }
@media(max-width:700px) {
  .ocr-cleanup-actions { gap:8px; }
  .ocr-workspace .ocr-cleanup-actions button { padding:9px 10px; flex-direction:column; align-items:flex-start; }
}

.ocr-workspace { --ocr-border: #d7e1d4; --ocr-muted: #6f8178; }
.ocr-workspace .ocr-heading {
  position: relative;
  overflow: hidden;
  min-height: 126px;
  padding: 24px 28px;
  border: 1px solid #315e5d;
  border-radius: 20px;
  background:
    linear-gradient(90deg, rgba(15, 43, 43, .95), rgba(29, 80, 71, .72)),
    url("../images/clash/war-banner.svg") center / cover;
  box-shadow: 0 16px 34px rgba(26, 67, 59, .16);
}
.ocr-workspace .ocr-heading > * { position: relative; z-index: 1; }
.ocr-workspace .ocr-heading::after {
  position: absolute;
  right: 30px;
  bottom: -76px;
  width: 170px;
  height: 170px;
  border: 1px solid rgba(246, 205, 105, .34);
  border-radius: 50%;
  content: "";
  box-shadow: 0 0 0 20px rgba(246, 205, 105, .05), 0 0 0 40px rgba(246, 205, 105, .035);
}
.ocr-workspace .ocr-heading h1 { color: #fff8e2; font-size: 31px; text-shadow: 0 2px 10px rgba(0,0,0,.18); }
.ocr-workspace .ocr-heading p, .ocr-workspace .ocr-heading small { color: #d3e4db; }
.ocr-workspace .ocr-eyebrow { color: #f1c96b; letter-spacing: .08em; }
.ocr-workspace .ocr-heading .btn-secondary { position: relative; z-index: 2; border-color: rgba(255,255,255,.34); background: rgba(255,255,255,.1); color: #fff8e2; }
.ocr-workspace .ocr-heading .btn-secondary:hover { background: rgba(255,255,255,.18); }
.ocr-workspace .ocr-card { background: rgba(255, 253, 248, .97); border-color: #d7e1d4; box-shadow: 0 12px 28px rgba(40, 61, 51, .06); }
.ocr-workspace .ocr-upload-card { border-top: 4px solid #c58a32; }
.ocr-workspace .ocr-card h2 { color: #294d45; }
.ocr-workspace .ocr-badge { color: #3e7651; background: #e5f0e3; border-radius: 999px; padding: 5px 10px; }
.ocr-workspace .ocr-form-grid input, .ocr-workspace .ocr-form-grid select { border-color: #cfdccf; background: #fffdf8; color: #20312f; }
.ocr-workspace .ocr-form-grid input:focus, .ocr-workspace .ocr-form-grid select:focus { border-color: #6f9c76; box-shadow: 0 0 0 3px rgba(111, 156, 118, .14); }
.ocr-workspace .ocr-quota-chip { background: #edf4ea; color: #6b7e70; border: 1px solid #d8e5d4; }
.ocr-workspace .ocr-quota-chip strong { color: #3e7651; }
.ocr-workspace .ocr-upload-card .ocr-upload-picker { border-color: #a9c4af; background: linear-gradient(145deg, #f0f7ef, #fbfcf6); border-radius: 16px; }
.ocr-workspace .ocr-upload-intro h3 { color: #2e5b4e; }
.ocr-workspace .ocr-upload-picker .ocr-drop-target { border-color: #9fbea6; background: linear-gradient(135deg, rgba(239,247,238,.98), rgba(252,253,247,.98)); }
.ocr-workspace .ocr-drop-icon { border-color: #c8ddc8; background: #e4f0e3; color: #3e7651; }
.ocr-workspace .ocr-drop-copy > strong { color: #2f5d50; }
.ocr-workspace .ocr-drop-copy > span { color: #71857a; }
.ocr-workspace .ocr-drop-link { color: #9a6a24; }
.ocr-workspace .ocr-upload-picker .ocr-drop-target:hover, .ocr-workspace .ocr-upload-picker .ocr-drop-target:focus-within { border-color: #c58a32; box-shadow: 0 0 0 3px rgba(197, 138, 50, .12); }
.ocr-workspace .ocr-upload-picker.is-file-dragging .ocr-drop-target { border-color: #c58a32; background: #fff5d9; }
.ocr-workspace .ocr-upload-footer #ocr-upload-original { color: #9a6a24; }
.ocr-workspace .ocr-upload-previews { gap: 12px; }
.ocr-workspace .ocr-upload-preview { border-color: #d5e0d3; background: #f5f8f1; border-radius: 13px; }
.ocr-workspace .ocr-upload-preview .ocr-preview-image { background: #e7efe5; border-radius: 9px; }
.ocr-workspace .ocr-project-link { padding: 15px 14px; border: 1px solid #dce6d9; border-radius: 12px; background: #fffdf8; margin-top: 9px; }
.ocr-workspace .ocr-project-link:hover { border-color: #adc5aa; background: #f6f9f1; text-decoration: none; transform: translateX(2px); }
.ocr-workspace .ocr-project-link small { color: #7a8d82; }
.ocr-workspace .ocr-cleanup-actions button { border-color: #d4e0d1; background: #f6f9f2; color: #385b4f; }
.ocr-workspace .ocr-cleanup-actions button:hover { border-color: #b2c9ad; background: #edf5e9; }
.ocr-workspace .ocr-empty { border: 1px dashed #c9dcc5; border-radius: 12px; background: #f7faf4; }

@media (max-width: 700px) {
  .ocr-workspace { gap: 14px; }
  .ocr-workspace .ocr-heading { min-height: 0; padding: 20px 17px; border-radius: 16px; }
  .ocr-workspace .ocr-heading::after { right: -45px; bottom: -88px; width: 145px; height: 145px; }
  .ocr-workspace .ocr-heading h1 { font-size: 25px; }
  .ocr-workspace .ocr-heading .btn-secondary { width: 100%; text-align: center; }
  .ocr-workspace .ocr-card { padding: 16px; border-radius: 14px; }
  .ocr-workspace .ocr-upload-card { border-top-width: 3px; }
  .ocr-workspace .ocr-form-grid { gap: 11px; }
  .ocr-workspace .ocr-upload-card .ocr-upload-picker { margin-top: 16px; padding: 0; border-radius: 14px; }
  .ocr-workspace .ocr-upload-picker .ocr-drop-target { min-height: 168px; border-radius: 12px; padding: 18px 10px; }
  .ocr-workspace .ocr-upload-previews { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .ocr-workspace .ocr-upload-preview { padding: 7px; border-radius: 10px; }
  .ocr-workspace .ocr-preview-image img { height: 105px; }
  .ocr-workspace .ocr-project-link { padding: 13px 11px; margin-top: 8px; }
  .ocr-workspace .ocr-project-link .ocr-badge { font-size: 10px; padding: 4px 7px; }
  .ocr-workspace .ocr-cleanup-actions { grid-template-columns: 1fr 1fr; }
}

@media (max-width: 360px) {
  .ocr-workspace .ocr-upload-previews { grid-template-columns: 1fr; }
  .ocr-workspace .ocr-preview-image img { height: 140px; }
  .ocr-workspace .ocr-cleanup-actions { grid-template-columns: 1fr; }
}

.ocr-source-image-card { display: grid; align-content: start; gap: 6px; min-width: 0; }
.ocr-source-image-card > small { color: #80520d; font-size: 11px; }
.ocr-source-image-card > img { display:block; width:100%; height:150px; object-fit:contain; border-radius:8px; background:#eef2f7; cursor:zoom-in; }
.ocr-source-image-card > button { width:100%; min-height:40px; }
.ocr-source-images .ocr-source-image-card { padding:10px; border:1px solid #dce5f1; border-radius:10px; background:#fff; }
.ocr-source-images .ocr-source-image-card > img { height:170px; }
.ocr-source-images .ocr-source-image-card > button:nth-of-type(2) { color:#9e3342; border-color:#e8b9c0; }
.ocr-project-workspace #ocr-issues { margin-top:14px; }
.ocr-project-workspace .ocr-issues-panel h3 { margin:0; }
.ocr-project-workspace .ocr-issues-panel { display:block; margin-top:12px; padding:10px 12px; border:1px solid #f0d2d4; border-radius:10px; background:#fff8f8; }
.ocr-project-workspace .ocr-issues-panel > summary { cursor:pointer; font-size:13px; font-weight:700; color:#7f2636; }
.ocr-project-workspace .ocr-issues-panel[open] > summary { margin-bottom:8px; }
.ocr-issues-panel h3 { margin:0; font-size:14px; color:#7f2636; }
#ocr-issue-content { display:grid; gap:7px; min-width:0; }
#ocr-issue-content > p { margin:0; padding:8px 10px; border-left:3px solid #d75968; border-radius:4px; background:#fff; color:#72303a; font-size:13px; line-height:1.55; overflow-wrap:anywhere; }
.ocr-conflict-source-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ocr-conflict-source-actions button { min-height:40px; }
.ocr-conflict-source-actions button:last-child { color:#9e3342; border-color:#e8b9c0; }
.ocr-source-image-card > img { position:relative; }
.ocr-source-image-card { position:relative; }
.ocr-source-image-card::after { content:'点击图片查看原图'; font-size:11px; color:#66758a; }
@media (max-width:700px) {
  .ocr-project-workspace .ocr-source-images { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ocr-source-images .ocr-source-image-card { padding:8px; }
  .ocr-source-images .ocr-source-image-card > img { height:110px; }
  .ocr-project-workspace .ocr-issues-panel { padding:10px; }
}

#ocr-modal .ocr-layout-legend{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px 18px;padding:10px 12px;background:#f2f6fc;border-radius:8px;font-size:12px}.ocr-layout-legend span{display:inline-flex;align-items:center;gap:7px}.ocr-layout-legend span::before{content:"";width:18px;height:12px;border:2px solid;border-radius:3px}.ocr-legend-outer::before{color:#ff5c7a}.ocr-legend-member::before{color:#3877cf}.ocr-legend-column::before{color:#00b8c8}.ocr-legend-selected::before{color:#d47b00;background:#ffae2d55}#ocr-modal .ocr-layout-note{padding:8px 12px;border-left:4px solid #d47b00;background:#fff4df;color:#67410b;font-size:12px}

.ocr-project-workspace .ocr-attack-evidence { grid-template-columns: 88px minmax(0, 1fr) auto !important; }
.ocr-project-workspace .ocr-source-button { padding: 6px 9px; border: 1px solid #cbd7e5; border-radius: 7px; background: #fff; color: #315e91; white-space: nowrap; font-size: 11px; }
.ocr-project-workspace .ocr-source-button:hover { background: #f1f6fc; }
.ocr-source-list { display: grid; gap: 8px; padding-left: 22px; }
.ocr-source-list li { overflow-wrap: anywhere; }
@media (max-width: 700px) { .ocr-project-workspace .ocr-attack-evidence { grid-template-columns: 65px minmax(0, 1fr) auto !important; gap: 6px; } .ocr-project-workspace .ocr-source-button { padding: 5px 6px; } }

.ocr-conflict-full-source > summary { cursor:pointer; color:#315e91; font-size:11px; margin:4px 0; }
.ocr-conflict-full-source[open] { padding:6px; border:1px dashed #d8e0eb; border-radius:7px; }

.ocr-project-workspace .ocr-position-jump.has-issue.is-warning{border-color:#c53a4b;background:#fff0f1;color:#a62033;box-shadow:inset 0 0 0 1px #f4c2c8}

/* Project rerun model selection. */
#ocr-modal.ocr-rerun-dialog { width:min(580px,calc(100vw - 32px)); max-width:580px; }
#ocr-modal.ocr-rerun-dialog #ocr-modal-body { display:grid; gap:18px; scrollbar-gutter:auto; }
.ocr-rerun-intro { margin:0; font-size:13px; line-height:1.7; color:#617267; }
.ocr-rerun-warning { padding:12px 14px; border:1px solid #e8cbaa; border-radius:10px; background:#fff6e9; color:#80501c; font-size:13px; line-height:1.7; }
.ocr-rerun-warning strong { display:block; margin-bottom:3px; }
.ocr-rerun-models { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; }
#ocr-modal .ocr-rerun-field { padding:16px; gap:10px; border:1px solid #d8e2d8; border-radius:12px; background:#f6f9f3; align-content:start; }
#ocr-modal .ocr-rerun-field select { min-height:44px; background:#fffdf8; }
.ocr-rerun-field small { font-size:12px; font-weight:400; line-height:1.6; color:#617267; }
.ocr-rerun-note { margin:0; padding:10px 12px; border-radius:8px; background:#f1f5ef; color:#52665a; font-size:12px; line-height:1.7; }
#ocr-modal .ocr-rerun-actions { display:flex; justify-content:flex-end; gap:10px; padding-top:16px; border-top:1px solid #dce5df; }
#ocr-modal .ocr-rerun-actions button { min-height:44px; min-width:88px; }
@media(max-width:600px) {
  #ocr-modal.ocr-rerun-dialog { padding:16px; }
  #ocr-modal.ocr-rerun-dialog > .ocr-section-title { flex-wrap:nowrap; align-items:center; }
  #ocr-modal.ocr-rerun-dialog h2 { font-size:17px; line-height:1.5; margin:0; }
  .ocr-rerun-models { grid-template-columns:minmax(0,1fr); gap:10px; }
  #ocr-modal .ocr-rerun-field { padding:12px; gap:8px; }
  #ocr-modal .ocr-rerun-actions { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,2fr); }
  #ocr-modal .ocr-rerun-actions button { min-width:0; padding:10px 8px; }
}
