.ocr-page{min-height:0;color:var(--ink);background:var(--paper);font-family:var(--font-ui);flex-direction:column;flex:auto;padding:0;display:flex;overflow:auto}.ocr-page button,.ocr-page input,.ocr-page select{font-family:inherit}.ocr-panel{background:var(--surface);border:1px solid var(--line);border-radius:0}.ocr-topbar{flex:none;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin-bottom:0;display:grid}.ocr-title-panel,.ocr-service-panel{min-height:76px}.ocr-title-panel{grid-column:span 1;align-items:center;gap:13px;padding:13px 16px;display:flex}.ocr-wordmark{background:var(--ink);width:40px;height:40px;color:var(--surface);font-family:var(--font-ui);letter-spacing:.04em;border-radius:2px;flex:none;place-items:center;font-size:12px;font-weight:600;display:grid}.ocr-title-panel p{color:var(--mute2);letter-spacing:.12em;text-transform:uppercase;margin:0 0 4px;font-size:9.5px;font-weight:500}.ocr-title-panel h1{font-family:var(--font-ui);letter-spacing:-.02em;margin:0;font-size:21px;font-weight:600}.ocr-service-panel{grid-column:span 4;align-items:center;gap:10px;padding:13px 18px;display:flex}.ocr-service-panel>span{background:var(--success);width:8px;height:8px;box-shadow:0 0 0 4px color-mix(in srgb, var(--success) 10%, transparent);border-radius:50%;flex:none}.ocr-service-panel>strong{font-family:var(--font-ui);font-size:15px;font-weight:600}.ocr-main-grid{flex:auto;grid-template-columns:repeat(4,minmax(0,1fr));gap:0;min-height:480px;margin-bottom:0;display:grid}.ocr-intake-panel,.ocr-result-panel{border-left:0;border-right:0;padding:16px}.ocr-intake-panel{border-right:1px solid var(--line);flex-direction:column;grid-column:span 1;min-height:0;display:flex;overflow-y:auto}.ocr-result-panel{flex-direction:column;grid-column:span 3;min-width:0;min-height:0;display:flex}.ocr-result-body{flex-direction:column;flex:1;min-height:0;display:flex}.ocr-section-heading{border-bottom:1px solid var(--line2);flex:none;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.ocr-section-heading>div{align-items:baseline;gap:8px;display:flex}.ocr-section-heading>div>span{color:var(--mute2);font-family:var(--font-ui);font-size:9px;font-weight:400;line-height:1.3}.ocr-section-heading h2{font-family:var(--font-ui);letter-spacing:-.01em;margin:0;font-size:16px;font-weight:600}.ocr-section-heading small{color:var(--mute2);letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:500}.ocr-dropzone{text-align:center;background:linear-gradient(var(--surface), var(--surface)) padding-box, repeating-linear-gradient(90deg, color-mix(in srgb, var(--accent1) 34%, transparent) 0 6px, transparent 6px 11px) border-box;border:1px dashed color-mix(in srgb, var(--accent1) 50%, transparent);border-radius:3px;flex-direction:column;justify-content:center;align-items:center;min-height:202px;margin-top:14px;padding:22px;transition:background .12s,border-color .12s;display:flex;position:relative}.ocr-dropzone.is-dragging{background:var(--paper);border-color:var(--accent1)}.ocr-dropzone.has-file{background:var(--hi-tint3)}.ocr-dropzone>input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ocr-drop-illustration{background:var(--surface);border:1px solid var(--line);width:42px;height:48px;box-shadow:3px 3px 0 color-mix(in srgb, var(--accent2) 8%, transparent);place-items:center;margin-bottom:11px;display:grid;position:relative}.ocr-drop-illustration svg{fill:none;width:24px;height:24px;stroke:var(--accent1);stroke-linecap:round;stroke-linejoin:round;stroke-width:1.4px}.ocr-drop-illustration span{background:var(--ink);color:var(--surface);font-family:var(--font-ui);letter-spacing:.05em;padding:2px 4px;font-size:6px;position:absolute;bottom:4px;right:-8px}.ocr-dropzone>strong{font-family:var(--font-ui);font-size:15px;font-weight:600}.ocr-dropzone>p{color:var(--mute);margin:5px 0 13px;font-size:10px}.ocr-dropzone>button,.ocr-result-toolbar button{background:var(--surface);min-height:29px;color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:5px;padding:5px 10px;font-size:10px;font-weight:500;display:inline-flex}.ocr-dropzone>button:hover:not(:disabled),.ocr-result-toolbar button:hover{border-color:var(--hi-border);background:var(--hi-tint3)}.ocr-dropzone>button:disabled{cursor:not-allowed;opacity:.5}.ocr-file-summary{border:1px solid var(--line2);border-radius:2px;align-items:center;gap:10px;min-height:62px;margin-top:10px;padding:9px 10px;display:flex}.ocr-file-summary>p{color:var(--mute2);margin:0;font-size:10px}.ocr-file-mark{background:var(--paper);color:var(--accent2);border:1px solid color-mix(in srgb, var(--accent1) 30%, transparent);font-family:var(--font-ui);border-radius:2px;flex:none;place-items:center;width:38px;height:38px;font-size:7px;font-weight:500;display:grid}.ocr-file-summary>div:nth-child(2){flex:1;min-width:0}.ocr-file-summary strong,.ocr-file-summary span{display:block}.ocr-file-summary strong{text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:600;overflow:hidden}.ocr-file-summary span{color:var(--mute2);font-family:var(--font-ui);margin-top:3px;font-size:8px}.ocr-file-summary>button{width:24px;height:24px;color:var(--mute2);cursor:pointer;background:0 0;border:0;border-radius:2px;padding:0;font-size:17px}.ocr-feedback{color:var(--mute);margin:9px 0 0;font-size:9.5px;line-height:1.4}.ocr-feedback.is-error{color:var(--accent2)}.ocr-run-button{background:var(--hi);width:100%;min-height:36px;color:var(--ink);border:1px solid var(--hi-border);box-shadow:1px 1.5px 0 var(--shadow-soft);cursor:pointer;border-radius:2px;justify-content:center;align-items:center;gap:7px;margin-top:auto;font-size:11px;font-weight:600;display:inline-flex}.ocr-run-button:hover:not(:disabled){background:var(--hi2)}.ocr-run-button:disabled{cursor:not-allowed;opacity:.48}.ocr-run-button svg,.ocr-result-toolbar svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:14px;height:14px}.ocr-spinner{animation:.9s linear infinite ocr-spin}@keyframes ocr-spin{to{transform:rotate(360deg)}}.ocr-empty-result,.ocr-processing-state{text-align:center;flex-direction:column;flex:1;justify-content:center;align-items:center;display:flex}.ocr-empty-result>div{background:var(--hi-tint3);border:1px solid var(--line);width:116px;height:148px;box-shadow:7px 7px 0 var(--surface), 8px 8px 0 var(--line);flex-direction:column;gap:12px;margin-bottom:18px;padding:19px 16px;display:flex}.ocr-empty-result>div span{color:var(--mute2);font-family:var(--font-ui);letter-spacing:.08em;text-align:left;text-transform:uppercase;font-size:7.5px;font-weight:500}.ocr-empty-result>div i{background:var(--line);height:1px}.ocr-empty-result>div i:nth-child(3){width:76%}.ocr-empty-result>div i:nth-child(5){width:56%}.ocr-empty-result p,.ocr-processing-state p{font-family:var(--font-ui);margin:0;font-size:16px;font-weight:600}.ocr-empty-result strong,.ocr-processing-state strong{max-width:310px;color:var(--mute);margin-top:5px;font-size:10px;font-weight:400;line-height:1.45}.ocr-scan-page{background:repeating-linear-gradient(to bottom, transparent 0 13px, var(--line2) 13px 14px), var(--hi-tint3);border:1px solid var(--line);width:100px;height:130px;margin-bottom:20px;position:relative;overflow:hidden}.ocr-scan-page:before{background:var(--ink);content:"";height:8px;position:absolute;inset:14px 14px auto}.ocr-scan-page span{z-index:2;background:var(--accent1);height:2px;box-shadow:0 5px 11px color-mix(in srgb, var(--accent1) 28%, transparent);animation:2s ease-in-out infinite ocr-scan;position:absolute;top:0;left:0;right:0}@keyframes ocr-scan{0%,to{transform:translateY(5px)}50%{transform:translateY(120px)}}.ocr-progress-track{background:var(--line2);width:220px;height:3px;margin-top:18px;overflow:hidden}.ocr-progress-track span{background:var(--accent1);width:38%;height:100%;animation:1.8s ease-in-out infinite ocr-progress;display:block}@keyframes ocr-progress{0%{transform:translate(-100%)}to{transform:translate(360%)}}.ocr-processing-state small{color:var(--mute2);font-family:var(--font-ui);margin-top:9px;font-size:8px}.ocr-result-toolbar{flex:none;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ocr-result-toolbar dl{gap:20px;margin:0;display:flex}.ocr-result-toolbar dl>div{flex-direction:column;gap:2px;display:flex}.ocr-result-toolbar dt{color:var(--mute2);letter-spacing:.08em;text-transform:uppercase;font-size:8px}.ocr-result-toolbar dd{font-family:var(--font-ui);margin:0;font-size:9px}.ocr-result-toolbar>div{gap:6px;display:flex}.ocr-review-workspace{background:var(--surface);border:1px solid var(--line2);border-radius:2px;flex:1;grid-template-columns:minmax(0,1.1fr) minmax(215px,.9fr);min-height:0;display:grid;overflow:hidden}.ocr-review-column{flex-direction:column;min-width:0;min-height:0;display:flex}.ocr-review-source{border-right:1px solid var(--line)}.ocr-review-column-heading{background:var(--surface);border-bottom:1px solid var(--line2);flex:none;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:7px 9px;display:flex}.ocr-review-column-heading>div:first-child{min-width:0}.ocr-review-column-heading>div:first-child span,.ocr-review-column-heading>div:first-child strong{display:block}.ocr-review-column-heading>div:first-child span{color:var(--mute2);letter-spacing:.09em;text-transform:uppercase;margin-bottom:2px;font-size:7.5px;font-weight:500}.ocr-review-column-heading>div:first-child strong{font-family:var(--font-ui);text-overflow:ellipsis;white-space:nowrap;font-size:11.5px;font-weight:600;overflow:hidden}.ocr-review-column-heading>small{color:var(--mute2);font-family:var(--font-ui);flex:none;font-size:7.5px}.ocr-page-controls{flex:none;align-items:center;gap:5px;display:flex}.ocr-page-controls>span{min-width:37px;color:var(--mute);font-family:var(--font-ui);text-align:center;font-size:7.5px}.ocr-page-controls button{background:var(--surface);width:23px;height:23px;color:var(--ink);border:1px solid var(--line);cursor:pointer;border-radius:2px;place-items:center;padding:0;display:grid}.ocr-page-controls button:hover:not(:disabled){background:var(--hi-tint3);border-color:var(--hi-border)}.ocr-page-controls button:disabled{cursor:not-allowed;opacity:.35}.ocr-page-controls svg{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:13px;height:13px}.ocr-pdf-stage{background:radial-gradient(circle at 1px 1px, #8a827533 1px, transparent 0) 0 0 / 12px 12px, var(--document-stage);flex:1;min-height:0;padding:13px;position:relative;overflow:auto}.ocr-pdf-page{background:var(--document-page);border:1px solid var(--document-page-border);min-width:260px;min-height:340px;box-shadow:3px 4px 0 var(--document-page-shadow);margin:0 auto;position:relative}.ocr-pdf-page canvas{max-width:none;display:block}.ocr-pdf-page.is-loading canvas{opacity:.42}.ocr-pdf-loading{z-index:4;background:color-mix(in srgb, var(--surface) 94%, transparent);color:var(--mute);border:1px solid var(--line);white-space:nowrap;border-radius:2px;padding:5px 8px;font-size:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ocr-pdf-error{z-index:5;width:220px;color:var(--accent2);text-align:center;margin:0;font-size:9.5px;line-height:1.4;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.ocr-bounding-layer{z-index:3;position:absolute;inset:0}.ocr-bounding-layer>button,.ocr-annotation-list>button,.ocr-hover-caption{--ocr-region-color:var(--accent1);--ocr-region-strong:var(--accent2);--ocr-region-fill:#f6c6ad24;--ocr-region-active:#f6c6ad5c}.ocr-page [data-region-tone=plum]{--ocr-region-color:#8b5578;--ocr-region-strong:#673c58;--ocr-region-fill:#d6b1c926;--ocr-region-active:#d6b1c961}.ocr-page [data-region-tone=teal]{--ocr-region-color:#2f766f;--ocr-region-strong:#205851;--ocr-region-fill:#9bcfc626;--ocr-region-active:#9bcfc666}.ocr-page [data-region-tone=ochre]{--ocr-region-color:#a46b18;--ocr-region-strong:#76500f;--ocr-region-fill:#e2be7a29;--ocr-region-active:#e2be7a6b}.ocr-page [data-region-tone=blue]{--ocr-region-color:#4e6f8e;--ocr-region-strong:#35526d;--ocr-region-fill:#a7c3da29;--ocr-region-active:#a7c3da66}.ocr-bounding-layer>button{background:var(--ocr-region-fill);border:1px solid var(--ocr-region-color);min-width:2px;min-height:2px;box-shadow:none;cursor:crosshair;border-radius:1px;padding:0;transition:background 80ms,border-color 80ms,box-shadow 80ms;position:absolute}.ocr-bounding-layer>button>span{background:var(--ocr-region-strong);min-width:12px;height:10px;color:var(--surface);font-family:var(--font-ui);place-items:center;padding:0 2px;font-size:6px;line-height:10px;display:none;position:absolute;top:-10px;left:-1px}.ocr-bounding-layer>button:hover,.ocr-bounding-layer>button:focus-visible,.ocr-bounding-layer>button.is-active{z-index:2;background:var(--ocr-region-active);border-color:var(--ocr-region-strong);outline:none;box-shadow:0 0 0 1px #ffffffd9}.ocr-bounding-layer>button:hover>span,.ocr-bounding-layer>button:focus-visible>span,.ocr-bounding-layer>button.is-active>span{display:grid}.ocr-hover-caption{background:var(--hi-tint3);border-top:1px solid var(--line2);flex:none;min-height:64px;padding:7px 9px;overflow:hidden}.ocr-hover-caption.is-active{background:var(--ocr-region-fill)}.ocr-hover-caption>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.ocr-hover-caption>div>span{color:var(--ocr-region-strong);letter-spacing:.08em;text-transform:uppercase;font-size:7.5px;font-weight:600}.ocr-hover-caption code,.ocr-annotation-copy code{color:var(--mute2);font-family:var(--font-ui);font-size:6.5px}.ocr-hover-caption p{color:var(--ink2);font-family:var(--font-ui);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0 0;font-size:8.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.ocr-hover-caption:not(.is-active) p{color:var(--mute2);margin-top:15px;font-style:italic}.ocr-annotation-list{background:var(--hi-tint3);flex:1;min-height:0;overflow:auto}.ocr-annotation-list>button{width:100%;color:var(--ink);border:0;border-bottom:1px solid var(--line2);cursor:default;text-align:left;background:0 0;border-radius:0;grid-template-columns:21px minmax(0,1fr);gap:7px;padding:8px 9px;display:grid}.ocr-annotation-list>button:hover,.ocr-annotation-list>button:focus-visible,.ocr-annotation-list>button.is-active{background:var(--ocr-region-active);outline:none}.ocr-annotation-index{background:var(--surface);width:21px;height:18px;color:var(--ocr-region-strong);border:1px solid var(--ocr-region-color);font-family:var(--font-ui);border-radius:2px;place-items:center;font-size:6.5px;display:grid}.ocr-annotation-copy{min-width:0}.ocr-annotation-copy>span{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.ocr-annotation-copy strong{color:var(--ocr-region-strong);letter-spacing:.07em;text-transform:uppercase;font-size:7.5px;font-weight:600}.ocr-annotation-copy code{flex:none}.ocr-annotation-copy p{color:var(--ink2);word-break:break-word;-webkit-line-clamp:4;-webkit-box-orient:vertical;margin:4px 0 0;font-size:8.5px;line-height:1.4;display:-webkit-box;overflow:hidden}.ocr-annotation-list>button.is-active .ocr-annotation-copy p{-webkit-line-clamp:8}.ocr-annotation-empty{color:var(--mute2);text-align:center;margin:0;padding:24px 12px;font-size:9px;line-height:1.4}@media (width<=980px){.ocr-title-panel,.ocr-service-panel,.ocr-intake-panel,.ocr-result-panel{grid-column:span 4}.ocr-intake-panel{min-height:300px}.ocr-result-panel{min-height:480px}.ocr-main-grid{min-height:780px}}@media (width<=640px){.ocr-page{padding:10px}.ocr-title-panel,.ocr-service-panel{grid-column:span 4}.ocr-review-workspace{grid-template-columns:1fr;overflow:auto}.ocr-review-column{min-height:360px}.ocr-review-source{border-right:0;border-bottom:1px solid var(--line)}}
