/* pdftoolsbase shared forms CSS: inputs, buttons, controls, upload/drop-zone controls. */

.btn{display:inline-block;padding:11px 18px;border-radius:8px;background:#A92020;color:#fff;font-weight:600}

.btn:hover{text-decoration:none;filter:brightness(.94)}

.btn.alt{background:#f2f2f2;color:#1a1a1a}

.drop-zone{border:2px dashed var(--line);border-radius:4px;padding:3rem 1.5rem;text-align:center;cursor:pointer;background:var(--paper-warm);transition:all 0.15s}

.drop-zone:hover,.drop-zone.dragover{border-color:var(--accent);background:var(--accent-tint)}

.drop-zone-icon{width:48px;height:48px;margin:0 auto 1rem;border:1.5px solid var(--accent);border-radius:4px;display:flex;align-items:center;justify-content:center;color:var(--accent);font-family:var(--serif);font-size:1.5rem}

.drop-zone h3{font-family:var(--serif);font-weight:500;font-size:1.4rem;margin-bottom:0.5rem;color:var(--ink)}

.drop-zone p{color:var(--muted);font-size:0.9rem;margin-bottom:1rem}

.drop-zone-button{display:inline-block;padding:0.7rem 1.4rem;background:var(--accent);color:var(--paper);font-family:var(--sans);font-size:0.92rem;font-weight:500;letter-spacing:0.01em;border:none;border-radius:3px;cursor:pointer}

.drop-zone-button:hover{background:var(--accent-dark)}

.drop-zone-hint{color:var(--muted-soft);font-size:0.78rem;margin-top:0.85rem;font-family:var(--mono);letter-spacing:0.04em}

.file-list{margin:1.5rem 0}

.file-item{display:flex;align-items:center;gap:0.75rem;padding:0.75rem 1rem;background:var(--paper-warm);border:1px solid var(--line-soft);border-radius:3px;margin-bottom:0.5rem}

.file-item-name{font-family:var(--mono);font-size:0.84rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.file-item-size{font-family:var(--mono);font-size:0.74rem;color:var(--muted)}

.file-item-remove{background:none;border:none;color:var(--muted);cursor:pointer;font-size:1.2rem;padding:0 0.25rem}

.file-item-remove:hover{color:var(--accent)}

.controls{margin:1.5rem 0;display:grid;gap:1rem}

.field{display:flex;flex-direction:column;gap:0.4rem}

.field label{font-family:var(--mono);font-size:0.72rem;color:var(--muted);letter-spacing:0.1em;text-transform:uppercase;font-weight:500}

.field input[type="text"],.field input[type="number"],.field input[type="password"],.field select,.field textarea{width:100%;padding:0.65rem 0.85rem;background:var(--paper);border:1px solid var(--line);border-radius:3px;color:var(--ink);font-family:var(--sans);font-size:0.92rem;transition:border-color 0.15s}

.field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--accent)}

.field textarea{resize:vertical;min-height:80px;font-family:var(--mono);font-size:0.85rem}

.field-hint{font-size:0.78rem;color:var(--muted);font-family:var(--sans)}

.field-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}

.field-inline{display:flex;gap:0.5rem;align-items:center}

.field-check{display:flex;gap:0.5rem;align-items:center;cursor:pointer}

.field-check input{width:16px;height:16px;accent-color:var(--accent);margin:0}

.field-check label{font-family:var(--sans);font-size:0.88rem;color:var(--ink);text-transform:none;letter-spacing:0;margin:0;cursor:pointer}

button.primary,.button-primary{display:inline-flex;align-items:center;justify-content:center;gap:0.5rem;background:var(--accent);color:var(--paper);font-family:var(--sans);font-size:0.95rem;font-weight:500;padding:0.85rem 1.6rem;border:none;border-radius:3px;cursor:pointer;transition:background 0.15s;width:100%}

button.primary:hover,.button-primary:hover{background:var(--accent-dark);text-decoration:none;color:var(--paper)}

button.primary:disabled{opacity:0.5;cursor:not-allowed}

button.secondary{background:transparent;color:var(--ink);border:1px solid var(--line);font-family:var(--sans);font-size:0.88rem;padding:0.55rem 1rem;border-radius:3px;cursor:pointer}

button.secondary:hover{border-color:var(--accent);color:var(--accent)}

.controls{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:0.85rem;margin:1.2rem 0}

.field{display:flex;flex-direction:column;gap:0.35rem}

.field-wide{grid-column:1 / -1}

.field label{font-size:0.85rem;color:var(--ink-soft);font-weight:500}

.field input[type="text"],.field input[type="number"],.field input[type="password"],.field input[type="color"],.field select,.field textarea{padding:0.55rem 0.7rem;font-size:0.92rem;border:1px solid var(--line);background:var(--surface);color:var(--ink);border-radius:6px;font-family:inherit}

.field input[type="color"]{padding:0.2rem;height:38px;cursor:pointer}

.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 2px rgba(193,38,47,0.15)}

.field textarea{font-family:var(--mono,monospace);font-size:0.85rem}

.field-hint{font-size:0.78rem;color:var(--muted);font-style:italic}

.check{display:flex;align-items:center;gap:0.5rem;cursor:pointer;padding:0.4rem 0;font-size:0.9rem;color:var(--ink-soft)}

.check input[type="checkbox"]{width:16px;height:16px;cursor:pointer}

.range-row{display:flex;align-items:center;gap:0.7rem}

.range-row input[type="range"]{flex:1}

.range-value{display:inline-block;min-width:42px;padding:0.25rem 0.55rem;font-family:var(--mono,monospace);font-size:0.85rem;background:var(--surface-2,#f5f0e8);color:var(--accent);border-radius:4px;text-align:center;font-weight:600}

.file-item{display:flex;align-items:center;gap:0.6rem;padding:0.55rem 0.75rem;background:var(--surface);border:1px solid var(--line);border-radius:6px;margin-bottom:0.4rem}

.file-item-name{flex:1;font-size:0.92rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.file-item-size{font-size:0.78rem;color:var(--muted);font-family:var(--mono,monospace)}

.file-item-reorder,.file-item-remove{width:26px;height:26px;padding:0;border:1px solid var(--line);background:var(--surface-2,#f5f0e8);color:var(--ink-soft);border-radius:4px;font-size:0.9rem;cursor:pointer;font-family:inherit}

.file-item-reorder:hover,.file-item-remove:hover{background:var(--accent);color:white;border-color:var(--accent)}

.file-item-remove{color:var(--accent);font-weight:600}

.pw-meter{margin-top:0.4rem}

.pw-bar{height:4px;background:var(--line);border-radius:2px;overflow:hidden;margin-bottom:0.25rem}

.pw-fill{height:100%;width:0%;background:var(--accent);transition:width 0.2s,background 0.2s}

.btn-secondary{padding:0.5rem 0.9rem;background:var(--surface-2,#f5f0e8);color:var(--accent);border:1px solid var(--accent);border-radius:6px;font-weight:500;cursor:pointer;font-family:inherit;font-size:0.88rem;margin-top:0.5rem}

.btn-secondary:hover{background:var(--accent);color:white}

.drop-zone.dragover{border-color:var(--accent) !important;background:rgba(193,38,47,0.05) !important}

.ve-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:0.5rem;margin-bottom:0.75rem;padding:0.5rem;background:var(--surface-2,#f5f0e8);border-radius:6px}

.ve-toolbar label{font-size:0.85rem;color:var(--ink-soft)}

.ve-toolbar input[type="number"]{padding:0.3rem 0.4rem;font-size:0.88rem;border:1px solid var(--line);border-radius:4px;font-family:var(--mono,monospace)}

.vbox-overlay{user-select:none}

.thumb-selector{margin:1rem 0 1.5rem;padding:1rem;background:var(--surface,white);border:1px solid var(--line);border-radius:8px}

.file-item{transition:all 0.15s}

.file-item.dragging{opacity:0.4}

.file-item.drag-over{border-color:var(--accent);border-style:dashed;background:rgba(193,38,47,0.05)}

.file-item-pages{margin-left:0.5rem}

.drop-zone:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid var(--accent);outline-offset:3px}

.search-box input{width:100%;padding:1rem 1.25rem 1rem 3rem;background:var(--surface);border:1.5px solid var(--line);font-family:var(--sans);font-size:1rem;border-radius:3px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B655F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>");background-repeat:no-repeat;background-position:1.1rem center;transition:all 0.15s}

.search-box input:focus{outline:none;border-color:var(--accent);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23A92020' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><circle cx='11' cy='11' r='8'/><line x1='21' y1='21' x2='16.65' y2='16.65'/></svg>")}

/* Pass 4 form safety */
input,select,textarea,button{max-width:100%}
button,input[type=button],input[type=submit],input[type=reset]{font:inherit}
