/* Ocr4you free tools - tool pages (works with light/dark theme) */
.ot-page{max-width:1200px}
.ot-group{scroll-margin-top:90px}
/* Tool page layout, dropzone, file list, results: see tool-page.css (mirrors convert-to-excel) */

/* Page grid */
.ot-pages { display: grid; grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)); gap: .75rem; margin-bottom: 1rem; }
.ot-page-item {
  position: relative; border: 2px solid var(--bs-border-color); border-radius: .6rem; padding: .4rem;
  text-align: center; background: var(--bs-body-bg); user-select: none;
}
.ot-page-item canvas, .ot-page-item img { max-width: 100%; max-height: 170px; display: block; margin: 0 auto; box-shadow: 0 1px 3px rgba(0,0,0,.15); background: #fff; transition: transform .2s; }
.ot-page-item .ot-pno { font-size: .75rem; margin-top: .3rem; color: var(--bs-secondary-color); }
.ot-page-item.ot-selectable { cursor: pointer; }
.ot-page-item.ot-selected { border-color: var(--bs-primary); background: rgba(var(--bs-primary-rgb), .08); }
.ot-page-item.ot-deleted { opacity: .35; border-color: var(--bs-danger); }
.ot-page-item .ot-page-tools { display: flex; justify-content: center; gap: .25rem; margin-top: .25rem; }
.ot-page-item .ot-page-tools .btn { padding: .1rem .35rem; font-size: .75rem; }
.ot-page-item .ot-check { position: absolute; top: .3rem; right: .4rem; }

/* Image editor stage */
.ot-stage { max-height: 70vh; background: repeating-conic-gradient(#eee 0 25%, #fff 0 50%) 0 0/20px 20px; border-radius: .5rem; overflow: hidden; }
.ot-stage img { display: block; max-width: 100%; }
.ot-circle .cropper-view-box, .ot-circle .cropper-face { border-radius: 50%; }
.ot-picker canvas { max-width: 100%; cursor: crosshair; border-radius: .5rem; }
.ot-swatches { display: flex; flex-wrap: wrap; gap: .6rem; }
.ot-swatch { width: 110px; border-radius: .6rem; overflow: hidden; border: 1px solid var(--bs-border-color); cursor: pointer; font-size: .8rem; text-align: center; background: var(--bs-body-bg); }
.ot-swatch div { height: 64px; }
.ot-swatch span { display: block; padding: .3rem; font-family: ui-monospace, monospace; }
.ot-barcode-out { background: #fff; padding: 1rem; border-radius: .5rem; text-align: center; overflow-x: auto; }
.ot-pw { font-family: ui-monospace, Menlo, Consolas, monospace; font-size: 1.3rem; word-break: break-all; }
.ot-strength { height: 8px; border-radius: 4px; transition: width .2s, background .2s; }

/* Offscreen html-to-pdf render area */
.ot-render-host { position: fixed; left: -10000px; top: 0; z-index: -1; }
.ot-render-page { background: #fff; color: #111; box-sizing: border-box; overflow: hidden; font-family: Arial, "Noto Sans", "Nirmala UI", sans-serif; font-size: 12pt; line-height: 1.45; }
.ot-render-page img { max-width: 100%; height: auto; }
.ot-render-page table { border-collapse: collapse; }
.ot-render-page td, .ot-render-page th { border: 1px solid #999; padding: 2px 5px; vertical-align: top; }
.ot-render-page p { margin: 0 0 .55em; }
.ot-render-page h1, .ot-render-page h2, .ot-render-page h3 { margin: .6em 0 .4em; color: #111; }
