/* FILE-O document-to-text. Sensitive content stays in editable textarea. */
.doc-ocr-layout{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(250px,.75fr);align-items:start;gap:18px}
.doc-ocr-layout>.ut-card{min-width:0}
.doc-ocr-input{grid-column:1}
.doc-ocr-help{grid-column:2;grid-row:1/3}
.doc-ocr-result{grid-column:1}
.doc-ocr-input h2,.doc-ocr-help h2{letter-spacing:-.025em}
.doc-ocr-drop{cursor:pointer;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:10px;min-height:224px;padding:24px 20px;border-radius:15px;border:2px dashed #b7a7eb;background:linear-gradient(140deg,#faf9ff,#f4f1ff);transition:background .18s,border-color .18s,box-shadow .18s}
.doc-ocr-drop.is-dragging,.doc-ocr-drop:hover{border-color:#7764db;background:#eeebff;box-shadow:0 5px 22px #6150bd16}
.doc-ocr-drop:focus-within{outline:3px solid #b7abed;outline-offset:3px}
.doc-ocr-upload-icon{width:58px;height:58px;border-radius:16px;color:#6954d6;background:#e8e1ff;display:grid;place-items:center}
.doc-ocr-drop strong{color:#302847;font-size:16px;line-height:1.35}
.doc-ocr-drop>span:nth-of-type(2){color:#847b99;font-size:12px;max-width:330px;line-height:1.5}
.doc-ocr-select{display:inline-flex;justify-content:center;align-items:center;border-radius:10px;background:#705add;color:#fff;padding:11px 18px;font-size:12px;font-weight:830;margin-top:5px}
.doc-ocr-drop input[type=file]{width:1px;height:1px;opacity:0;position:absolute;pointer-events:none}
.doc-ocr-filename{font-size:12px;color:#746b90;overflow-wrap:anywhere;margin:12px 0 17px;min-height:18px}
.doc-ocr-mode{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#493e69}
.doc-ocr-mode select{width:100%;min-width:0;padding:12px 13px;border-radius:10px;border:1px solid #dad4e7;background:#fff;color:#282341;font:600 12px 'Onest',system-ui,sans-serif}
.doc-ocr-start{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;margin-top:19px;min-height:50px;padding:12px 16px;border:0;border-radius:11px;background:#6f58df;color:#fff;font:800 14px 'Onest',system-ui,sans-serif;cursor:pointer;box-shadow:0 7px 19px #7055d32b;transition:transform .14s,background .14s,box-shadow .14s}
.doc-ocr-start:hover:not(:disabled){background:#5942cb;transform:translateY(-1px);box-shadow:0 10px 24px #7055d33a}
.doc-ocr-start:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}
.doc-ocr-progress{margin-top:13px}
.doc-ocr-progress[hidden],.doc-ocr-result[hidden],.doc-ocr-warnings[hidden]{display:none!important}
.doc-ocr-progress-track{height:8px;border-radius:20px;background:#e9e5f8;overflow:hidden}
.doc-ocr-progress-track span{display:block;height:100%;width:0%;background:#785ee6;transition:width .15s ease}
.doc-ocr-progress-track.is-processing span{width:30%;animation:doc-ocr-busy 1.3s ease-in-out infinite}
@keyframes doc-ocr-busy{from{transform:translateX(-110%)}to{transform:translateX(320%)}}
.doc-ocr-progress p{font-size:12px;color:#6d5db6;margin:8px 0 0}
.doc-ocr-status{margin:10px 0 0;min-height:0;color:#5d50ad;font-size:12px}
.doc-ocr-status.error{color:#b64256}
.doc-ocr-info{display:flex;flex-wrap:wrap;gap:7px 18px;margin:14px 0 0;padding-top:13px;border-top:1px solid #efebf8;color:#8d849b;font-size:10px}
.doc-ocr-result{border-color:#d3c9f0}
.doc-ocr-result-head{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.doc-ocr-result-head h2{margin:4px 0 3px;font-size:20px}
.doc-ocr-result-head p{font-size:12px;color:#8a8297;margin:0}
.doc-ocr-eyebrow{font-size:10px;letter-spacing:.1em;font-weight:850;color:#7967c5}
.doc-ocr-ready{padding:6px 10px;border-radius:10px;background:#e6f8ed;color:#22784a;font-size:11px;font-weight:780}
.doc-ocr-page-index{display:flex;flex-wrap:wrap;gap:7px;margin:19px 0 12px}
.doc-ocr-page-index span{display:inline-flex;border:1px solid #ded8f1;padding:6px 10px;border-radius:99px;background:#faf9ff;color:#665c83;font-size:10.5px;font-weight:700}
.doc-ocr-page-index span.is-ocr{border-color:#cfc3f6;color:#5d4ac7;background:#f1edff}
.doc-ocr-page-index span.is-unreadable{color:#ac596c;background:#fff1f2;border-color:#f4cbd0}
.doc-ocr-edit-label{display:block;margin:0 0 7px;color:#766d8a;font-size:11px}
#docOcrText{width:100%;min-height:330px;resize:vertical;max-height:78vh;padding:15px 16px;border-radius:11px;border:1px solid #d7d1e7;background:#fff;color:#27243b;box-sizing:border-box;font:500 12.5px/1.68 'Onest',system-ui,sans-serif;white-space:pre-wrap}
#docOcrText:focus-visible{outline:3px solid #baaaf1;outline-offset:1px}
.doc-ocr-result-actions{display:flex;flex-wrap:wrap;gap:10px;margin:13px 0}
.doc-ocr-result-actions button{border-radius:10px;min-height:43px;padding:10px 15px;font:760 12px 'Onest',system-ui,sans-serif;cursor:pointer}
.doc-ocr-copy{border:1px solid #d8cff5;background:#fff;color:#614bc8}
.doc-ocr-save{border:0;background:#705add;color:white}
.doc-ocr-warnings{border:1px solid #eedbaf;background:#fffaf0;color:#735d2d;border-radius:11px;padding:12px 14px;font-size:11px;line-height:1.65}
.doc-ocr-warnings p{margin:0 0 5px}
.doc-ocr-warnings p:last-child{margin:0}
.doc-ocr-help{background:linear-gradient(160deg,#fff 75%,#faf8ff);box-shadow:0 9px 28px #5e4cb90b}
.doc-ocr-examples{display:grid;gap:10px;margin-bottom:16px}
.doc-ocr-examples>div{padding:12px;border:1px solid #ece7f7;border-radius:11px;background:#faf9fd}
.doc-ocr-examples strong,.doc-ocr-examples span{display:block}
.doc-ocr-examples strong{font-size:12px;color:#382e58}
.doc-ocr-examples span{font-size:11px;line-height:1.5;color:#7c7390;margin-top:5px}
.doc-ocr-help>p{font-size:11px;line-height:1.6;color:#777087}
.doc-ocr-help .doc-ocr-caution{border-left:3px solid #e5b476;padding-left:10px}
@media(max-width:800px){.doc-ocr-layout{grid-template-columns:1fr}.doc-ocr-help,.doc-ocr-input,.doc-ocr-result{grid-column:1}.doc-ocr-help{grid-row:auto}}
@media(max-width:540px){.doc-ocr-drop{min-height:190px;padding:20px 13px}.doc-ocr-input{padding:18px}.doc-ocr-result{padding:16px}.doc-ocr-result-actions button{flex:1}}
@media(prefers-reduced-motion:reduce){.doc-ocr-progress-track.is-processing span{animation:none;width:100%}.doc-ocr-drop,.doc-ocr-start{transition:none}}
