/* PDF & image tools: drop zone, file lists, results. Builds on modern.css tokens. */

.ft-workspace .tool-panel { min-height: 420px; }
.ft-workspace .panel-content { padding: 1rem; gap: 0.75rem; overflow: visible; }

.ft-dropzone {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.4rem;
    min-height: 220px;
    padding: 1.5rem;
    border: 2px dashed var(--hairline-strong);
    border-radius: var(--panel-radius, 12px);
    background-image: var(--dot-grid);
    background-size: 18px 18px;
    color: var(--text-secondary);
    text-align: center;
    cursor: pointer;
    transition: border-color 0.15s ease, background-color 0.15s ease, min-height 0.2s ease;
}
.ft-dropzone:hover, .ft-dropzone:focus-visible, .ft-dropzone.is-dragover {
    border-color: var(--color-accent-400);
    background-color: color-mix(in srgb, var(--color-accent-500) 6%, transparent);
    outline: none;
}
.ft-dropzone.is-dragover { transform: scale(1.01); }
.ft-dropzone.has-files { min-height: 96px; padding: 1rem; }
.ft-dropzone.has-files .ft-dropzone-hint { display: none; }
.ft-dropzone-icon {
    display: grid;
    place-items: center;
    width: 52px;
    height: 52px;
    border-radius: 14px;
    background: var(--brand-gradient);
    color: #fff;
    box-shadow: var(--brand-glow);
    margin-bottom: 0.35rem;
}
.ft-dropzone.has-files .ft-dropzone-icon { width: 36px; height: 36px; border-radius: 10px; }
.ft-dropzone.has-files .ft-dropzone-icon svg { width: 18px; height: 18px; }
.ft-dropzone-title { font-weight: 600; color: var(--text-primary); }
.ft-dropzone-hint { font-size: 0.82rem; color: var(--text-tertiary); }

.ft-list { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 0.5rem; }
.ft-file, .ft-result {
    display: flex;
    align-items: center;
    gap: 0.75rem;
    padding: 0.55rem 0.6rem;
    border: 1px solid var(--hairline);
    border-radius: 10px;
    background: var(--surface-primary);
    box-shadow: var(--elev-1);
    animation: ftIn 180ms ease both;
}
@keyframes ftIn { from { opacity: 0; transform: translateY(4px); } to { opacity: 1; transform: none; } }
.ft-thumb { width: 44px; height: 44px; object-fit: cover; border-radius: 8px; flex: none; background: var(--surface-tertiary); }
.ft-icon {
    display: grid;
    place-items: center;
    width: 44px;
    height: 44px;
    flex: none;
    border-radius: 8px;
    background: var(--tile-conv-bg);
    color: var(--tile-conv-fg);
    font: 700 0.62rem/1 var(--font-mono);
}
.ft-icon--out { background: rgba(34, 197, 94, 0.14); color: #15803D; }
[data-theme="dark"] .ft-icon--out { color: #86EFAC; }
.ft-meta { display: flex; flex-direction: column; min-width: 0; flex: 1; }
.ft-name { font-size: 0.875rem; font-weight: 550; color: var(--text-primary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ft-size { font-size: 0.78rem; color: var(--text-tertiary); font-variant-numeric: tabular-nums; }
.ft-actions { display: flex; gap: 0.25rem; flex: none; }
.ft-actions .btn-icon { width: 30px; height: 30px; padding: 0; justify-content: center; font-size: 0.95rem; }
.ft-download { flex: none; text-decoration: none; font-weight: 600; color: var(--text-accent); }

.ft-results:not(:empty) + .ft-empty { display: none; }
.ft-empty { margin: auto 0; padding: 2rem 1rem; text-align: center; font-size: 0.85rem; color: var(--text-tertiary); }
.ft-summary { font-size: 0.85rem; color: var(--text-secondary); margin: 0; }
.ft-summary:empty { display: none; }
.ft-option-note { font-size: 0.85rem; color: var(--text-secondary); white-space: normal; }
.tool-option-group input[type="range"] { accent-color: var(--color-accent-500); width: 140px; }

.ft-docx-preview { max-height: 560px; overflow: auto; border-radius: 10px; background: var(--surface-tertiary); }
.ft-docx-preview:empty { display: none; }
.ft-docx-preview .docx-wrapper { padding: 16px !important; background: transparent !important; align-items: flex-start !important; }
.ft-docx-preview .docx-wrapper > section.docx { box-shadow: var(--elev-2) !important; margin-bottom: 16px !important; transform-origin: top center; }
.ft-docx-preview[aria-busy="true"] { min-height: 200px; }
.ft-docx-preview:not(:empty) ~ .ft-empty { display: none; }
.ft-print-note { margin: 0; }

#errorBanner { margin: 0; }

@media (max-width: 768px) {
    .ft-dropzone { min-height: 160px; }
    .ft-docx-preview { max-height: 420px; }
}
@media (prefers-reduced-motion: reduce) {
    .ft-file, .ft-result { animation: none; }
    .ft-dropzone.is-dragover { transform: none; }
}

/* ── Single-column layout for the page organizer and editor ── */
.ft-stack { display: flex; flex-direction: column; gap: 1rem; }
.ft-stack .panel-content { padding: 1rem; gap: 0.75rem; overflow: visible; }
.ft-dropzone--compact { min-height: 120px; }
.ft-dropzone--compact.has-files { min-height: 64px; flex-direction: row; gap: 0.75rem; padding: 0.6rem 1rem; }
.ft-check { display: inline-flex; align-items: center; gap: 0.4rem; font-size: 0.875rem; color: var(--text-secondary); cursor: pointer; }
.ft-check input { width: 16px; height: 16px; accent-color: var(--color-accent-500); }

/* ── OCR text ── */
.ocr-text-wrap { display: flex; flex-direction: column; gap: 0.5rem; }
.ocr-text { width: 100%; min-height: 180px; resize: vertical; padding: 0.75rem; border: 1px solid var(--hairline); border-radius: 10px; background: var(--surface-secondary, var(--surface-primary)); color: var(--text-primary); font: 0.85rem/1.55 var(--font-mono); }
.ocr-text:placeholder-shown + .btn-icon { display: none; }
.ocr-text-wrap .btn-icon { align-self: flex-end; }

/* ── Excel & PowerPoint previews ── */
.xl-preview, .pp-preview { padding: 12px; }
.xl-sheet + .xl-sheet { margin-top: 1.25rem; }
.xl-sheet-name { margin: 0 0 0.5rem; font-size: 0.85rem; font-weight: 650; color: var(--text-secondary); }
.xl-scroll { overflow: auto; background: #fff; border-radius: 6px; box-shadow: var(--elev-1); }
.xl-table { border-collapse: collapse; color: #111; font: 12px/1.35 Calibri, Arial, sans-serif; }
.xl-table td { padding: 3px 6px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; vertical-align: bottom; }
.xl-grid .xl-table td { border: 1px solid #e2e2e2; }
.xl-note, .xl-empty { margin: 0.4rem 0 0; font-size: 0.8rem; color: var(--text-tertiary); }
.pp-preview .pptx-preview-wrapper { height: auto !important; overflow: visible !important; background: transparent !important; }
.pp-preview .pptx-preview-slide-wrapper { box-shadow: var(--elev-2); margin-bottom: 16px !important; }

/* ── Organize PDF: page grid ── */
.page-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 0.85rem; }
.page-grid.is-empty { display: none; }
.page-tile {
    position: relative; display: flex; flex-direction: column; gap: 0.35rem; padding: 0.5rem;
    border: 1px solid var(--hairline); border-radius: 12px; background: var(--surface-primary); box-shadow: var(--elev-1);
    cursor: grab; user-select: none; -webkit-user-select: none; -webkit-touch-callout: none;
    transition: box-shadow 0.15s ease, transform 0.15s ease, border-color 0.15s ease;
}
.page-tile:hover { border-color: var(--hairline-strong); box-shadow: var(--elev-2); }
.page-tile:focus-visible { outline: 2px solid var(--color-accent-500); outline-offset: 2px; }
.page-tile.is-dragging { cursor: grabbing; transform: scale(1.04); box-shadow: 0 12px 28px rgba(15, 23, 42, 0.22); border-color: var(--color-accent-400); z-index: 2; opacity: 0.92; }
.page-grid.is-sorting .page-tile:not(.is-dragging) { transition: transform 0.12s ease; }
.page-thumb { display: grid; place-items: center; aspect-ratio: 1; overflow: hidden; border-radius: 8px; background: var(--surface-tertiary); }
.page-thumb canvas { max-width: 92%; max-height: 92%; box-shadow: 0 1px 4px rgba(15, 23, 42, 0.18); transition: transform 0.2s ease; background: #fff; }
.page-loading { width: 22px; height: 22px; border-radius: 50%; border: 2px solid var(--hairline-strong); border-top-color: var(--color-accent-500); animation: ftSpin 0.8s linear infinite; }
@keyframes ftSpin { to { transform: rotate(360deg); } }
.page-tile-bar { display: flex; align-items: center; gap: 0.3rem; min-height: 32px; }
.page-num { display: grid; place-items: center; min-width: 24px; height: 24px; padding: 0 6px; border-radius: 999px; background: var(--brand-gradient); color: #fff; font: 700 0.72rem/1 var(--font-mono); }
.page-src { flex: 1; min-width: 0; font-size: 0.72rem; color: var(--text-tertiary); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.page-actions { display: flex; gap: 2px; }
.page-actions .btn-icon { width: 28px; height: 28px; padding: 0; justify-content: center; font-size: 0.95rem; }
.page-actions .move-left, .page-actions .move-right { display: none; }

/* ── Edit PDF ── */
.edit-action-bar { position: sticky; top: 0; z-index: 20; }
.edit-tools { display: flex; flex-wrap: wrap; gap: 4px; padding: 3px; border-radius: 12px; background: var(--surface-tertiary); }
.edit-tool { gap: 0.35rem; }
.edit-tool[aria-pressed="true"] { background: var(--surface-primary); color: var(--text-accent); box-shadow: var(--elev-1); }
.tool-option-group input[type="color"] { width: 36px; height: 30px; padding: 0 2px; border: 1px solid var(--hairline); border-radius: 8px; background: var(--surface-primary); }
.pdf-editor { display: flex; flex-direction: column; align-items: center; gap: 1.25rem; padding: 0.5rem 0; }
.pdf-editor:empty { display: none; }
.pdf-editor[aria-busy="true"] { min-height: 240px; }
.edit-page { position: relative; max-width: 100%; box-shadow: var(--elev-2); background: #fff; }
.edit-canvas { display: block; width: 100%; height: 100%; }
.edit-layer { position: absolute; inset: 0; touch-action: none; }
.pdf-editor[data-tool="text"] .edit-layer { cursor: text; }
.pdf-editor[data-tool="whiteout"] .edit-layer, .pdf-editor[data-tool="highlight"] .edit-layer,
.pdf-editor[data-tool="rect"] .edit-layer, .pdf-editor[data-tool="draw"] .edit-layer { cursor: crosshair; }
.edit-page-label { position: absolute; top: -1.1rem; pointer-events: none; left: 0; font-size: 0.7rem; color: var(--text-tertiary); }
.edit-item { position: absolute; box-sizing: border-box; }
.pdf-editor[data-tool="select"] .edit-item { cursor: move; }
.edit-item.is-selected { outline: 2px dashed var(--color-accent-500); outline-offset: 2px; }
.edit-text { min-width: 1ch; padding: 0 2px; line-height: 1.2; font-family: Helvetica, Arial, sans-serif; white-space: pre; outline: 1px dashed transparent; }
.edit-text:focus { outline: 1px dashed var(--color-accent-400); cursor: text; }
.edit-draw { min-width: 6px; min-height: 6px; }
.edit-draw svg { display: block; overflow: visible; }
.edit-image img { display: block; width: 100%; height: 100%; object-fit: fill; pointer-events: none; }
.edit-handle { position: absolute; right: -7px; bottom: -7px; width: 14px; height: 14px; border-radius: 50%; background: var(--color-accent-500); border: 2px solid #fff; cursor: nwse-resize; display: none; }
.edit-item.is-selected .edit-handle { display: block; }

/* ── Passport & visa photo maker ── */
.pp-stage { display: none; justify-content: center; padding: 0.75rem; border-radius: 12px; background: var(--surface-tertiary); }
.pp-stage.has-photo { display: flex; }
.pp-stage canvas { max-width: 100%; border-radius: 4px; box-shadow: var(--elev-2); cursor: grab; touch-action: none; }
.pp-stage canvas:active { cursor: grabbing; }
.pp-stage canvas:focus-visible { outline: 2px solid var(--color-accent-500); outline-offset: 3px; }
.pp-controls { display: none; grid-template-columns: auto 1fr; align-items: center; gap: 0.5rem 0.75rem; font-size: 0.85rem; color: var(--text-secondary); }
.pp-stage.has-photo + .pp-controls { display: grid; }
.pp-controls input[type="range"] { width: 100%; accent-color: var(--color-accent-500); }
.pp-controls .btn-icon { grid-column: 1 / -1; justify-self: start; }
.pp-custom { flex-wrap: wrap; }
.pp-custom input[type="number"] { width: 5.5rem; }
.pp-custom[hidden] { display: none !important; }
.pp-spec { display: grid; grid-template-columns: max-content 1fr; gap: 0.35rem 0.9rem; margin: 0; padding: 0.75rem 0.9rem; border-radius: 10px; background: var(--surface-tertiary); font-size: 0.84rem; }
.pp-spec:empty { display: none; }
.pp-spec dt { font-weight: 600; color: var(--text-primary); }
.pp-spec dd { margin: 0; color: var(--text-secondary); }
.visually-hidden { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

@media (max-width: 768px) {
    .page-grid { grid-template-columns: repeat(auto-fill, minmax(128px, 1fr)); gap: 0.6rem; }
    .page-actions .move-left, .page-actions .move-right { display: grid; }
    .page-actions .btn-icon { width: 36px; height: 36px; }
    .page-src { display: none; }
    .edit-tool span { display: none; }
    .edit-tool { width: 44px; height: 44px; justify-content: center; padding: 0; }
    .pp-controls input[type="range"] { height: 32px; }
}
@media (prefers-reduced-motion: reduce) {
    .page-tile, .page-thumb canvas { transition: none; }
    .page-loading { animation: none; }
}

/* Edit PDF on phones: one compact sticky strip instead of stacked form rows. */
@media (max-width: 768px) {
    .tool-action-bar.edit-action-bar { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.4rem; padding: 0.5rem; }
    .edit-action-bar .tool-options { flex-direction: row; flex-wrap: wrap; align-items: center; gap: 0.4rem; width: auto; flex: 1 1 100%; }
    .edit-action-bar .edit-tools { flex: 1 1 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
    /* leave room for the fixed menu button in the top-left corner */
    .edit-action-bar .tool-options { min-width: 0; max-width: 100%; }
    .edit-action-bar .edit-tools { margin-left: 52px; flex: 0 0 calc(100% - 52px); width: calc(100% - 52px); min-width: 0; }
    .edit-action-bar .btn-process { padding-block: 0.5rem; }
    .edit-action-bar .edit-tools::-webkit-scrollbar { display: none; }
    .edit-action-bar .edit-tool { flex: none; }
    .edit-action-bar .tool-option-group { flex-direction: row; align-items: center; width: auto; gap: 0.3rem; }
    .edit-action-bar .tool-option-group label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
    .edit-action-bar .tool-option-group select { width: auto; min-height: 44px; }
    .edit-action-bar .tool-option-group input[type="color"] { width: 44px; height: 44px; }
    .edit-action-bar #undoBtn { min-height: 44px; }
    .edit-action-bar #itemCount { display: none; }
    .edit-action-bar .btn-process { flex: 1 1 auto; width: auto; min-height: 44px; margin: 0; }
    .ft-workspace .tool-option-group:has(> .btn-icon) { width: auto; }
}
/* overflow-x: hidden on these wrappers turns them into scroll containers, which breaks the sticky
   editor toolbar on phones. clip still prevents sideways scrolling without that side effect. */
.main-content:has(.edit-action-bar), .content-wrapper:has(.edit-action-bar) { overflow-x: clip; overflow-y: visible; }

/* ── Batch 3: text tools, signature card, crop and meme stages ── */
.crop-stage, .meme-stage { padding: 0.75rem; }
.crop-stage canvas { max-width: 100%; touch-action: none; cursor: move; border-radius: 4px; box-shadow: var(--elev-2); }
.meme-stage canvas { max-width: 100%; height: auto; border-radius: 4px; box-shadow: var(--elev-2); }
.crop-fields input[type="number"] { width: 5.2rem; }
.rs-presets { flex-wrap: wrap; }
.rs-presets .btn-icon { font-size: 0.8rem; }
#pixelFields input[type="number"] { width: 6rem; }
#pixelFields[hidden], #percentFields[hidden], #randomFields[hidden], #phraseFields[hidden] { display: none !important; }

.wc-stats { display: grid; grid-template-columns: repeat(auto-fill, minmax(120px, 1fr)); gap: 0.6rem; }
.wc-stat { display: flex; flex-direction: column; gap: 0.15rem; padding: 0.7rem 0.8rem; border: 1px solid var(--hairline); border-radius: 10px; background: var(--surface-primary); }
.wc-stat--big { grid-column: span 2; }
.wc-num { font: 700 1.35rem/1.1 var(--font-mono); color: var(--text-primary); font-variant-numeric: tabular-nums; }
.wc-stat--big .wc-num { font-size: 2rem; background: var(--brand-gradient); -webkit-background-clip: text; background-clip: text; color: transparent; }
.wc-label { font-size: 0.75rem; color: var(--text-tertiary); text-transform: uppercase; letter-spacing: 0.04em; }
.wc-limit { margin: 0; font-size: 0.875rem; font-weight: 600; color: var(--text-secondary); }
.wc-limit:empty { display: none; }
.wc-limit[data-over="true"] { color: #dc2626; }
.wc-subtitle { margin: 0.5rem 0 0; font-size: 0.9rem; }

.case-buttons { display: flex; flex-wrap: wrap; gap: 0.4rem; }
.case-buttons .btn-icon[aria-pressed="true"], .sig-tabs [aria-selected="true"] { background: var(--brand-gradient); color: #fff; border-color: transparent; }

.pw-explain { margin: 0; font-size: 0.9rem; color: var(--text-secondary); line-height: 1.6; }
.pw-output { font-family: var(--font-mono); font-size: 0.95rem; line-height: 1.8; }
.pw-strength { margin: 0; font-weight: 650; font-size: 0.95rem; }
.pw-strength:empty { display: none; }
.pw-strength[data-level="weak"] { color: #dc2626; }
.pw-strength[data-level="fair"] { color: #d97706; }
.pw-strength[data-level="strong"], .pw-strength[data-level="very-strong"] { color: #16a34a; }
#randomFields, #phraseFields { flex-wrap: wrap; }
#pwLengthRange { width: 130px; accent-color: var(--color-accent-500); }
#pwLength, #wordCount, #pwCount { width: 4.6rem; }

.hash-list { display: flex; flex-direction: column; gap: 0.5rem; margin: 0; }
.hash-list > div { display: grid; grid-template-columns: 7.5rem 1fr; align-items: center; gap: 0.5rem; padding: 0.5rem 0.6rem; border: 1px solid var(--hairline); border-radius: 10px; background: var(--surface-primary); }
.hash-list dt { font-size: 0.8rem; font-weight: 650; color: var(--text-secondary); }
.hash-list dd { display: flex; align-items: center; gap: 0.5rem; margin: 0; min-width: 0; }
.hash-list code { flex: 1; min-width: 0; font: 0.8rem/1.4 var(--font-mono); color: var(--text-primary); word-break: break-all; }
.hash-list code:empty::before { content: '—'; color: var(--text-tertiary); }
.hash-list .btn-icon { flex: none; font-size: 0.75rem; padding: 0.2rem 0.5rem; }
.hash-compare-label { font-size: 0.85rem; font-weight: 600; color: var(--text-secondary); }
.hash-compare, .ts-input { width: 100%; padding: 0.65rem 0.8rem; border: 1px solid var(--hairline-strong); border-radius: 10px; background: var(--surface-primary); color: var(--text-primary); font: 0.9rem var(--font-mono); }
.ts-input { font-size: 1.1rem; }
.hash-result { margin: 0; font-weight: 650; font-size: 0.875rem; }
.hash-result[data-match="true"] { color: #16a34a; }
.hash-result[data-match="false"] { color: #dc2626; }
.hash-file-btn { cursor: pointer; }
.hash-chip { display: inline-flex; align-items: center; gap: 0.35rem; padding: 0.2rem 0.3rem 0.2rem 0.6rem; border-radius: 999px; background: var(--surface-tertiary); font-size: 0.8rem; }
.hash-chip button { border: 0; background: none; cursor: pointer; font-size: 1rem; color: var(--text-secondary); }
.hash-chip[hidden] { display: none; }
.ts-now { font-size: 0.85rem; color: var(--text-secondary); }
.ts-now strong { font-family: var(--font-mono); color: var(--text-primary); }
.ts-list > div { grid-template-columns: 9rem 1fr; }

.sig-card { display: flex; flex-direction: column; gap: 0.6rem; padding: 0.9rem; border: 1px solid var(--hairline); border-radius: 12px; background: var(--surface-secondary, var(--surface-primary)); }
.sig-tabs { display: inline-flex; gap: 4px; padding: 3px; border-radius: 10px; background: var(--surface-tertiary); align-self: flex-start; }
.sig-tabs button { border: 0; border-radius: 8px; padding: 0.4rem 0.9rem; background: transparent; color: var(--text-secondary); font-weight: 600; cursor: pointer; min-height: 36px; }
.sig-panel { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; }
.sig-panel[hidden] { display: none; }
.sig-pad { width: 100%; max-width: 520px; height: 150px; border: 1.5px dashed var(--hairline-strong); border-radius: 10px; background: #fff; touch-action: none; cursor: crosshair; }
.sig-panel input[type="text"] { flex: 1; min-width: 180px; padding: 0.5rem 0.7rem; border: 1px solid var(--hairline-strong); border-radius: 8px; background: var(--surface-primary); color: var(--text-primary); }
.sig-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 0.5rem; font-size: 0.85rem; color: var(--text-secondary); }
.sig-actions input[type="color"] { width: 36px; height: 30px; padding: 0 2px; border: 1px solid var(--hairline); border-radius: 8px; }
.sig-actions .sig-use { width: auto; min-height: 38px; padding: 0.45rem 1rem; }
@media (max-width: 768px) {
    .wc-stats { grid-template-columns: repeat(2, 1fr); }
    .hash-list > div, .ts-list > div { grid-template-columns: 1fr; }
    .sig-pad { height: 140px; }
}
.wc-input, #caseOutput { font-family: var(--font-sans, Inter, system-ui, sans-serif); font-size: 0.95rem; line-height: 1.65; }

/* ── Batch 3B ── */
.qr-fields { display: flex; flex-direction: column; gap: 0.35rem; }
.qr-fields > div { display: flex; flex-direction: column; gap: 0.35rem; }
.qr-fields > div[hidden] { display: none; }
.qr-fields label { font-size: 0.82rem; font-weight: 600; color: var(--text-secondary); margin-top: 0.3rem; }
.qr-fields input[type="text"], .qr-fields input[type="url"], .qr-fields input[type="email"], .qr-fields input[type="tel"], .qr-fields input[type="password"], .qr-fields textarea, .qr-fields select {
    width: 100%; padding: 0.55rem 0.7rem; border: 1px solid var(--hairline-strong); border-radius: 8px; background: var(--surface-primary); color: var(--text-primary); font: inherit; }
.qr-fields .ft-check { margin-top: 0.4rem; }
.qr-preview { display: grid; place-items: center; }
.qr-preview:empty { display: none; }
.qr-preview svg { width: min(280px, 100%); height: auto; border-radius: 8px; box-shadow: var(--elev-2); }
.fav-html { min-height: 96px; font-family: var(--font-mono); font-size: 0.8rem; }
#textFields[hidden] { display: none !important; }
.qr-fields { padding: 1rem; }
