/* ZoomApps — интерфейс локального распознавания */
#ocr-app{max-width:820px;margin:0 auto;background:#fff;border:1px solid var(--line);border-radius:24px;box-shadow:var(--shadow-lg);padding:26px}
#ocr-zone{border:2px dashed var(--line-2);border-radius:18px;padding:44px 22px;text-align:center;cursor:pointer;transition:.25s}
#ocr-zone:hover,#ocr-zone.drag{border-color:var(--blue);background:var(--bg-tint)}
#ocr-zone .ic{width:58px;height:58px;margin:0 auto 14px;border-radius:16px;display:grid;place-items:center;background:var(--bg-tint);color:var(--blue)}
#ocr-zone .ic svg{width:26px;height:26px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
#ocr-zone h3{font-family:var(--disp);font-size:20px;font-weight:700;margin-bottom:6px}
#ocr-zone p{color:var(--muted);font-size:14px;margin-bottom:16px}

#ocr-proc{display:none}
#ocr-proc.on{display:block}
#ocr-stage{font-family:var(--disp);font-weight:600;font-size:15px;color:var(--ink-2);margin-bottom:12px;display:flex;align-items:center;gap:10px}
#ocr-stage::before{content:"";width:15px;height:15px;border:2px solid var(--line-2);border-top-color:var(--blue);border-radius:50%;animation:ocrspin .7s linear infinite;flex:none}
@keyframes ocrspin{to{transform:rotate(360deg)}}
#ocr-bar{height:8px;border-radius:99px;background:var(--bg-soft);overflow:hidden}
#ocr-bar i{display:block;height:100%;width:0;border-radius:99px;background:linear-gradient(90deg,var(--blue),var(--sky));transition:width .3s}
#ocr-cancel{margin-top:14px;font-size:13.5px;color:var(--muted);background:none;border:0;cursor:pointer;text-decoration:underline}
#ocr-cancel:hover{color:var(--blue)}

#ocr-res{display:none}
#ocr-res.on{display:block}
.ocr-err{padding:16px 18px;border-radius:14px;background:#FEF2F2;border:1px solid #FECACA;color:#991B1B;font-size:14.5px;margin-bottom:14px}

.ocr-head{display:flex;align-items:center;gap:14px;padding:16px 18px;background:linear-gradient(120deg,#eafff3,#eef5ff);border:1px solid #cdeedd;border-radius:14px;flex-wrap:wrap}
.ocr-ok{width:38px;height:38px;flex:none;border-radius:50%;background:#16A34A;display:grid;place-items:center}
.ocr-ok svg{width:19px;height:19px;fill:none;stroke:#fff;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ocr-title{font-family:var(--disp);font-weight:700;font-size:17px}
.ocr-sub{font-size:13px;color:var(--muted);word-break:break-all}
.ocr-badge{margin-left:auto;font-family:var(--disp);font-weight:700;font-size:12.5px;color:#0F766E;background:#CCFBF1;border-radius:99px;padding:6px 12px;white-space:nowrap}
.ocr-note-lim{margin-top:10px;font-size:13px;color:#92400E;background:#FFFBEB;border:1px solid #FDE68A;border-radius:10px;padding:9px 12px}

.ocr-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-top:16px}
.ocr-st{background:var(--bg-soft);border-radius:12px;padding:13px;text-align:center}
.ocr-st b{display:block;font-family:var(--disp);font-size:19px;font-weight:800;color:var(--ink)}
.ocr-st span{font-size:11.5px;color:var(--muted)}

.ocr-metas{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.ocr-meta{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:99px;padding:7px 13px;font-size:13px}
.ocr-meta .k{color:var(--muted)}
.ocr-meta b{font-family:var(--disp);font-weight:700;color:var(--ink)}

.ocr-tabs{display:flex;gap:6px;margin:18px 0 12px;border-bottom:1px solid var(--line);overflow-x:auto}
.ocr-tabs button{font-family:var(--disp);font-weight:600;font-size:14px;color:var(--muted);background:none;border:0;border-bottom:2px solid transparent;padding:9px 14px;cursor:pointer;white-space:nowrap}
.ocr-tabs button.on{color:var(--blue);border-bottom-color:var(--blue)}

.ocr-search{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.ocr-search input{flex:1;border:1px solid var(--line-2);border-radius:10px;padding:9px 12px;font:inherit;font-size:14px;outline:none}
.ocr-search input:focus{border-color:var(--blue)}
.ocr-search .cnt{font-size:12.5px;color:var(--muted);white-space:nowrap}

.ocr-pane{display:none}
.ocr-pane.on{display:block}
.ocr-pane pre{max-height:420px;overflow:auto;background:var(--bg-soft);border:1px solid var(--line);border-radius:14px;padding:16px;font:13px/1.65 ui-monospace,SFMono-Regular,Menlo,monospace;white-space:pre-wrap;word-break:break-word}
.ocr-pane mark{background:#FEF08A;border-radius:3px}

.ocr-cols{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.ocr-cols h5{font-family:var(--disp);font-size:12.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--blue);margin-bottom:7px}
.ocr-cols pre{max-height:400px}

.ocr-fields{display:grid;gap:8px}
.ocr-f{display:grid;grid-template-columns:170px 1fr;gap:12px;align-items:start;background:var(--bg-soft);border-radius:12px;padding:11px 14px}
.ocr-f .k{font-size:13px;color:var(--muted)}
.ocr-f .v{display:flex;flex-wrap:wrap;gap:6px}
.ocr-f .v i{font-style:normal;font-size:13px;background:#fff;border:1px solid var(--line);border-radius:7px;padding:3px 8px}
.ocr-empty{color:var(--muted);font-size:14px;padding:8px}

.ocr-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.ocr-actions .btn{font-size:14px;padding:11px 18px}

.ocr-priv{margin-top:18px;border:1px solid #BBF7D0;background:#F0FDF4;border-radius:16px;padding:16px 18px}
.ocr-priv-h{display:flex;align-items:center;gap:9px;font-family:var(--disp);font-size:15px;color:#14532D}
.ocr-priv-h svg{width:18px;height:18px;fill:none;stroke:#16A34A;stroke-width:2;stroke-linejoin:round}
.ocr-priv p{font-size:13.5px;color:#14532D;opacity:.85;margin-top:7px}
.ocr-priv-n{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #BBF7D0;margin-top:10px;padding-top:9px;font-size:13.5px;color:#14532D}
.ocr-priv-n b{font-family:var(--disp);font-size:16px}
.ocr-priv-n b.zero{color:#16A34A}
.ocr-priv-p{font-size:12.5px !important;font-style:italic}
.ocr-log-t{margin-top:10px;font-size:12.5px;color:#166534;background:none;border:0;text-decoration:underline;cursor:pointer;padding:0}
.ocr-log{display:none;margin-top:8px;max-height:150px;overflow:auto;background:#fff;border:1px solid #BBF7D0;border-radius:10px;padding:10px;font:11.5px/1.6 ui-monospace,monospace;white-space:pre-wrap;word-break:break-all;color:#166534}
.ocr-log.on{display:block}

@media(max-width:720px){
  #ocr-app{padding:18px;border-radius:20px}
  .ocr-stats{grid-template-columns:repeat(2,1fr)}
  .ocr-cols{grid-template-columns:1fr}
  .ocr-badge{margin-left:0}
  .ocr-f{grid-template-columns:1fr;gap:6px}
  .ocr-actions .btn{flex:1 1 45%;justify-content:center}
}

/* ---- режим выплатного дела ---- */
.ocr-hint{margin-top:10px;font-size:13px;color:var(--muted);max-width:520px}
.ocr-case-sec{margin-top:20px}
.ocr-case-sec h4{font-family:var(--disp);font-size:15px;margin-bottom:10px}
.ocr-chk{display:grid;grid-template-columns:20px 1fr;gap:10px;align-items:start;padding:9px 12px;border-radius:11px;margin-bottom:7px;font-size:13.5px;line-height:1.5}
.ocr-chk span{width:15px;height:15px;border-radius:50%;margin-top:2px}
.ocr-chk.ok{background:#F0FDF4;color:#14532D}
.ocr-chk.ok span{background:#16A34A}
.ocr-chk.err{background:#FEF2F2;color:#7F1D1D}
.ocr-chk.err span{background:#DC2626}
.ocr-chk.warn{background:#FFFBEB;color:#78350F}
.ocr-chk.warn span{background:#D97706}
.ocr-bill{border:1px solid #BFDBFE;background:#F8FBFF;border-radius:12px;padding:12px 14px}
.ocr-bill.partial{border-color:#FDE68A;background:#FFFDF5}
.ocr-bill-r{display:flex;justify-content:space-between;align-items:baseline;gap:14px;font-size:13.5px;padding:3px 0}
.ocr-bill-r span{color:var(--muted)}
.ocr-bill-r b{font-family:var(--disp);font-size:15px;text-align:right}
.ocr-bill-n{margin-top:6px;font-size:11.5px;color:var(--muted)}
@media(max-width:520px){.ocr-bill-r{flex-direction:column;gap:2px}.ocr-bill-r b{text-align:left}}
.ocr-miss{margin-top:10px;border:1px dashed #FCA5A5;border-radius:12px;padding:12px 14px;background:#FFFBFB}
.ocr-miss h5{font-family:var(--disp);font-size:13.5px;color:#991B1B;margin-bottom:6px}
.ocr-miss ul{margin:0;padding-left:18px}
.ocr-miss li{font-size:13.5px;color:#7F1D1D;line-height:1.65}
.ocr-src{display:block;font-style:normal;font-size:11.5px;color:var(--muted);margin-top:2px}
.ocr-f .v .ocr-src{background:none;border:0;padding:0}
.ocr-tblw{overflow-x:auto;border:1px solid var(--line);border-radius:12px}
.ocr-tbl{width:100%;border-collapse:collapse;font-size:13.5px;min-width:560px}
.ocr-tbl th{text-align:left;font-family:var(--disp);font-weight:500;font-size:12.5px;color:var(--muted);padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.ocr-tbl td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.ocr-tbl tr:last-child td{border-bottom:0}
.ocr-tbl tr.bad td{background:#FEF2F2;color:#7F1D1D}
.ocr-badge.bad{background:#FEF2F2;color:#B91C1C;border-color:#FCA5A5}
.ocr-ok.warn{background:#FEF3C7}
.ocr-ok.warn svg{stroke:#D97706}
@media(max-width:720px){.ocr-chk{grid-template-columns:16px 1fr}}

/* в сводке дела значение — колонкой, источник под ним (иначе flex-wrap рвёт строки) */
.ocr-case-sec .ocr-f .v{display:block}
.ocr-case-sec .ocr-f .v i{background:none;border:0;padding:0}
.ocr-case-sec .ocr-f .v > br{display:none}
.ocr-case-sec .ocr-f{align-items:center}
.ocr-case-val{display:block;margin-bottom:6px}
.ocr-case-val:last-child{margin-bottom:0}

/* подлинность файла: тот же язык цвета, что у проверок дела */
.ocr-auth{margin-top:14px;border:1px solid var(--line);border-radius:14px;padding:14px 16px}
.ocr-auth.ok{border-color:#BBF7D0;background:#F7FEF9}
.ocr-auth.warn{border-color:#FDE68A;background:#FFFDF5}
.ocr-auth.err{border-color:#FCA5A5;background:#FFFBFB}
.ocr-auth h4{font-family:var(--disp);font-size:14px;margin-bottom:10px}
.ocr-auth.ok h4{color:#14532D}
.ocr-auth.warn h4{color:#92400E}
.ocr-auth.err h4{color:#991B1B}
.ocr-auth-r{display:grid;grid-template-columns:14px 1fr;gap:9px;align-items:start;font-size:13.5px;line-height:1.55;margin-bottom:6px}
.ocr-auth-r i{width:9px;height:9px;border-radius:50%;margin-top:6px}
.ocr-auth-r.ok i{background:#16A34A}
.ocr-auth-r.warn i{background:#D97706}
.ocr-auth-r.err i{background:#DC2626}
.ocr-auth-n{margin-top:9px;font-size:11.5px;color:var(--muted);line-height:1.6}
.ocr-auth-qr{display:inline-block;margin-top:10px;padding:8px 14px;border-radius:10px;background:#0F172A;color:#fff;font-size:13px;text-decoration:none}
.ocr-auth-qr:hover{background:#1E293B}
