.pdf-tool {max-width: 850px;}
.pdf-tool [hidden] {display:none!important;}
.pdf-tool button,.pdf-tool input,.pdf-tool select {font:inherit;}
.pdf-tool button,.pdf-file-label {min-height:44px;}
.pdf-tool :focus-visible {outline:3px solid var(--accent);outline-offset:3px;}
.pdf-modes {display:flex;gap:4px;border-bottom:1px solid var(--border);margin:24px 0;}
.pdf-modes button {padding:12px 18px;background:none;color:var(--text-secondary);border:0;border-bottom:3px solid transparent;cursor:pointer;font-weight:600;}
.pdf-modes [aria-selected="true"] {color:var(--accent);border-bottom-color:var(--accent);}
.pdf-upload {border:1.5px dashed var(--border-strong);border-radius:12px;padding:28px 20px;text-align:center;background:var(--bg-card);}
.pdf-upload.drag-over {border-color:var(--accent);background:var(--accent-subtle);}
.pdf-upload>svg {color:var(--accent);margin-bottom:10px;}
.pdf-upload>p:first-of-type {font-size:1.1rem;font-weight:600;margin:0 0 14px;}
.pdf-file-label {position:relative;display:inline-flex;align-items:center;padding:10px 20px;background:var(--accent);color:var(--bg-main);border-radius:7px;font-weight:600;cursor:pointer;overflow:hidden;}
.pdf-file-label input {position:absolute;inset:0;opacity:0;cursor:pointer;width:100%;height:100%;}
.pdf-file-label:focus-within {outline:3px solid var(--accent);outline-offset:4px;}
.pdf-hint,.pdf-private,.pdf-settings-grid small {color:var(--text-secondary);font-size:.85rem;line-height:1.6;}
.pdf-upload .pdf-hint {margin:16px 0 0;}
.pdf-private {margin:12px 0 24px;text-align:center;}
.pdf-files {list-style:none;padding:0;margin:16px 0 24px;}
.pdf-files li {display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border);padding:12px 0;}
.pdf-file-thumb {width:58px;height:48px;object-fit:contain;flex:none;background:var(--bg-secondary);border-radius:4px;}
.pdf-file-name {min-width:0;flex:1;overflow-wrap:anywhere;}
.pdf-file-name small {display:block;color:var(--text-secondary);margin-top:4px;}
.pdf-reorder {display:flex;gap:3px;}
.pdf-reorder button {width:38px;min-width:38px;border:1px solid var(--border);border-radius:5px;background:var(--bg-card);color:var(--text-primary);cursor:pointer;}
.pdf-reorder button:disabled {opacity:.4;cursor:default;}
.pdf-settings-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:20px 0;}
.pdf-settings-grid label {display:flex;flex-direction:column;gap:8px;font-weight:500;}
.pdf-settings-grid input,.pdf-settings-grid select {background:var(--bg-card);color:var(--text-primary);border:1px solid var(--border-strong);border-radius:6px;padding:10px 12px;width:100%;min-height:44px;}
.pdf-settings-grid small {font-weight:400;}
.pdf-wide {grid-column:1/-1;}
.pdf-actions {display:flex;gap:12px;flex-wrap:wrap;margin:24px 0;}
.pdf-actions button {padding:12px 22px;}
#pdf-live {margin:16px 0;line-height:1.6;overflow-wrap:anywhere;}
#pdf-live[data-error="true"] {color:var(--error);border-left:3px solid var(--error);padding-left:12px;}
#pdf-busy {display:flex;gap:16px;align-items:center;}
#pdf-progress {flex:1;max-width:100%;height:12px;accent-color:var(--accent);}
#pdf-results {border-top:1px solid var(--border);margin-top:28px;padding-top:24px;}
#pdf-results h2 {font-size:1.2rem;margin-bottom:12px;}
.pdf-result {display:flex;align-items:center;gap:16px;padding:16px 0;border-bottom:1px solid var(--border);}
.pdf-result img {width:88px;height:100px;object-fit:contain;border:1px solid var(--border);background:white;}
.pdf-result>div {flex:1;min-width:0;overflow-wrap:anywhere;}
.pdf-result small {display:block;color:var(--text-secondary);margin-top:6px;}
.pdf-result a {text-decoration:none;white-space:nowrap;min-height:44px;display:inline-flex;align-items:center;padding:8px 12px;border:1px solid var(--border-strong);border-radius:6px;color:var(--accent);font-weight:600;}
@media(max-width:500px){.pdf-modes button{flex:1;padding:10px 6px;font-size:.9rem}.pdf-upload{padding:22px 12px}.pdf-settings-grid{grid-template-columns:1fr;gap:16px}.pdf-reorder{gap:2px}.pdf-reorder button{width:32px;min-width:32px}.pdf-files li{gap:8px}.pdf-file-thumb{width:38px;height:40px}.pdf-file-name{font-size:.85rem}.pdf-result{flex-wrap:wrap}.pdf-result img{width:62px;height:76px}.pdf-result a{margin-left:auto}.pdf-actions button{flex:1}.pdf-hint{font-size:.8rem}}
