/* ---- OCR: their landing band and page workspace ------------------------
   The band mirrors Word to PDF's (grey, split green button, service lines);
   the workspace puts every page sheet beside a "Quick single page mode" box,
   with the amber bar fixed under the viewport: Language, Output formats,
   the accuracy warning and the one green action. */
.ocr-head { text-align: center; align-items: center; }
.tool-page.ocr-page { max-width: none; }

.ocr-band {
  background: var(--canvas);
  padding: 30px 20px 54px;
  text-align: center;
}
.ocr-band.dragover { outline: 2px dashed var(--accent); outline-offset: -10px; }

.ocr-split-holder { position: relative; display: inline-block; }
.ocr-split { display: inline-flex; }
.ocr-band .ocr-pick {
  display: inline-flex; align-items: center; gap: 10px;
  border-radius: 6px 0 0 6px;
  font-size: 1.3rem; font-weight: 700; padding: 9px 24px 10px;
}
.ocr-band .ocr-pick i { font-size: 1.35rem; }
.ocr-band .ocr-caret {
  border-radius: 0 6px 6px 0;
  border-left: 1px solid rgba(255, 255, 255, .38);
  padding: 9px 12px 10px; font-size: 1.15rem;
}

.ocr-menu {
  position: absolute; top: calc(100% + 6px); right: 0; z-index: 40;
  min-width: 230px; padding: 6px 0; text-align: left;
  background: var(--white); border: 1px solid var(--line);
  border-radius: 8px; box-shadow: 0 12px 34px rgba(20, 30, 35, .16);
}
.ocr-menu-item {
  display: flex; align-items: center; gap: 10px; width: 100%;
  padding: 9px 16px; border: 0; background: none; cursor: pointer;
  font: inherit; font-size: .95rem; color: var(--ink);
}
.ocr-menu-item i { width: 18px; font-size: 1.05rem; color: var(--muted); }
.ocr-menu-item:hover { background: var(--accent-soft); color: var(--accent-dark); }

.ocr-note { color: var(--muted); font-size: .95rem; margin: 26px 0 0; }
.ocr-note + .ocr-note { margin-top: 6px; }
.ocr-terms { margin: 14px 0 0; font-size: .9rem; color: var(--muted); }
.ocr-link { text-decoration: none; cursor: default; }

.ocr-pills { display: flex; justify-content: center; margin: 26px 0 6px; }
.ocr-pill {
  display: inline-flex; align-items: center; gap: 8px;
  height: 27px; padding: 0 12px; border-radius: 10px;
  background: rgba(37, 144, 102, .06);
  color: rgba(37, 144, 102, .85); font-size: 1.06rem;
}
.ocr-pill i { font-size: .85rem; color: rgba(37, 144, 102, .7); }
.ocr-off {
  display: inline-block; padding: 1px 8px 2px; border-radius: 9px;
  background: #259066; color: var(--white);
  font-size: .68rem; font-weight: 700; letter-spacing: .4px; text-transform: uppercase;
}

/* ---- the page workspace ---*/
.ocr-work { padding-bottom: 300px; }   /* room for the fixed bar */
.ocr-doc { display: flex; flex-direction: column; gap: 34px; margin-top: 10px; }
.ocr-row {
  display: flex; flex-wrap: wrap; align-items: flex-start; justify-content: center;
  gap: 24px 40px; max-width: 1260px; margin: 0 auto;
}
.ocr-sheet-col { flex: 1 1 0; min-width: 0; max-width: 530px; }
.ocr-page-wrap { position: relative; display: block; line-height: 0; }
.ocr-canvas { display: block; width: 100%; height: auto; background: #fff; box-shadow: 0 3px 12px -2px rgba(50, 50, 50, .3); }
.ocr-overlay { position: absolute; inset: 0; width: 100%; height: 100%; pointer-events: none; }

/* Their grey "1 →" between the sheet and the quick box. */
.ocr-mid { display: flex; flex-direction: column; align-items: center; gap: 18px; padding-top: 12px; color: #b7bdbf; }
.ocr-mid-num { font-size: 1.6rem; font-weight: 600; }
.ocr-mid i { font-size: 1.5rem; }

.ocr-quick {
  flex: 1 1 0; min-width: 0; max-width: 530px; background: var(--white);
  border: 1px solid var(--line); border-radius: 4px;
  box-shadow: 0 3px 12px -4px rgba(50, 50, 50, .22);
  padding: 30px 28px; margin-top: 26px;
}
.ocr-quick-title { margin: 0 0 18px; color: #9aa5aa; font-size: 1.06rem; }
.ocr-quick-row { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
.ocr-quick-row select {
  height: 35px; border: 1px solid var(--line-strong); border-radius: 4px;
  background: var(--white); color: var(--ink); font: inherit; font-size: .9rem;
  padding: 0 8px; min-width: 110px;
}
.ocr-quick-btn {
  height: 35px; padding: 0 16px; border-radius: 4px; cursor: pointer;
  border: 1px solid var(--accent); background: var(--white);
  color: var(--accent); font: inherit; font-size: .9rem;
}
.ocr-quick-btn:hover { background: var(--accent-soft); }
.ocr-quick-btn:disabled { opacity: .55; cursor: default; }

.ocr-out { margin-top: 14px; }
.ocr-text {
  white-space: pre-wrap; background: var(--bg); border: 1px solid var(--line);
  border-radius: var(--radius-sm); padding: 12px; max-height: 260px; overflow: auto;
  font-family: "Atkinson Hyperlegible", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;
  font-size: .85rem; line-height: 1.5; margin: 0;
}
.ocr-actions { display: flex; gap: 8px; margin-top: 8px; }

/* ---- their fixed amber bar ---*/
.ocr-bar {
  position: fixed; left: 0; right: 0; bottom: 0; z-index: 60;
  background: rgba(253, 246, 231, .97); border-top: 1px solid var(--amber-line);
  padding: 14px 16px 16px; text-align: center;
}
.ocr-bar-inner { max-width: 760px; margin: 0 auto; }
.ocr-bar-row { display: flex; justify-content: center; align-items: center; gap: 10px; margin-top: 10px; }
.ocr-bar-row:first-child { margin-top: 0; }
.ocr-bar-label { font-weight: 700; font-size: 1.06rem; color: var(--ink); }
.ocr-bar-select {
  height: 35px; min-width: 170px; border: 1px solid var(--line-strong);
  border-radius: 4px; background: var(--white); color: var(--ink);
  font: inherit; font-size: .95rem; padding: 0 8px;
}
.ocr-check { display: inline-flex; align-items: center; gap: 7px; font-size: 1.06rem; cursor: pointer; margin-left: 14px; }
.ocr-check input { width: 15px; height: 15px; margin: 0; accent-color: var(--accent); }
.ocr-warn {
  margin: 14px auto 0; max-width: 560px; padding: 12px 18px;
  background: var(--amber-line); border-radius: 8px;
  color: var(--ink); font-size: 1.02rem; line-height: 1.5;
}
.ocr-bar-actions { margin-top: 16px; }
.ocr-bar-actions .btn { font-size: 1.125rem; font-weight: 700; border-radius: 4px; padding: 8px 26px; }

@media (max-width: 1100px) {
  .ocr-mid { display: none; }
  .ocr-quick { margin-top: 0; }
}
@media (max-width: 640px) {
  .ocr-sheet-col, .ocr-quick { flex-basis: 100%; max-width: 100%; }
  .ocr-work { padding-bottom: 340px; }
}

