.pdf-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:var(--s-3);margin-top:var(--s-4)}.pdf-page{position:relative;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunken);padding:var(--s-2);display:flex;flex-direction:column;align-items:center;gap:var(--s-2);cursor:default;transition:border-color .15s ease,box-shadow .15s ease}.pdf-page canvas{max-width:100%;height:auto;border-radius:var(--r-sm);box-shadow:0 1px 4px rgba(0,0,0,.15);background:#fff}.pdf-page .pp-num{font-size:var(--fs-xs);color:var(--text-mute)}.pdf-page.is-selected{border-color:var(--signal);box-shadow:0 0 0 2px var(--signal) inset}.pdf-page.is-deleted{opacity:.35;filter:grayscale(1)}.pdf-page.is-deleted::after{content:"Deleted";position:absolute;inset:auto 0 50% 0;text-align:center;font-size:var(--fs-xs);font-weight:600;color:#c2304a}.pdf-page .pp-check{position:absolute;top:6px;left:6px;width:18px;height:18px;cursor:pointer}.pdf-page .pp-badge{position:absolute;top:6px;right:6px;background:var(--signal);color:#fff;font-size:11px;line-height:1;padding:3px 6px;border-radius:var(--r-pill);font-weight:600}.pdf-page.is-draggable{cursor:grab}.pdf-page.is-draggable:active{cursor:grabbing}.pdf-page.is-dragging{opacity:.5}.pdf-page.is-dragover{border-color:var(--signal);border-style:dashed}.pdf-filelist{display:flex;flex-direction:column;gap:var(--s-2);margin-top:var(--s-3)}.pdf-fileitem{display:flex;align-items:center;gap:var(--s-3);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunken);padding:var(--s-2) var(--s-3)}.pdf-fileitem .fi-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--fs-sm)}.pdf-fileitem .fi-meta{font-size:var(--fs-xs);color:var(--text-mute);flex:none}.pdf-fileitem .fi-actions{display:flex;gap:4px;flex:none}.pdf-fileitem.is-dragging{opacity:.5}.pdf-fileitem.is-dragover{border-color:var(--signal);border-style:dashed}.pdf-viewer-wrap{display:flex;flex-direction:column;gap:var(--s-3)}.pdf-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--s-2);border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunken);padding:var(--s-2) var(--s-3)}.pdf-toolbar .tb-sep{width:1px;height:22px;background:var(--border);margin:0 var(--s-1)}.pdf-toolbar .tb-page{font-size:var(--fs-sm);color:var(--text-soft);display:flex;align-items:center;gap:6px}.pdf-toolbar input[type=number]{width:56px}.pdf-stage-wrap{display:flex;gap:var(--s-3);min-height:300px}.pdf-thumbs{flex:none;width:140px;max-height:70vh;overflow-y:auto;display:flex;flex-direction:column;gap:var(--s-2);padding-right:var(--s-1)}.pdf-thumbs.is-hidden{display:none}.pdf-thumb{border:1px solid var(--border);border-radius:var(--r-sm);overflow:hidden;cursor:pointer;background:#fff}.pdf-thumb canvas{display:block;width:100%;height:auto}.pdf-thumb.is-active{border-color:var(--signal);box-shadow:0 0 0 2px var(--signal) inset}.pdf-stage{flex:1;overflow:auto;background:var(--bg-sunken);border:1px solid var(--border);border-radius:var(--r-md);display:flex;justify-content:center;align-items:flex-start;padding:var(--s-4);max-height:75vh}.pdf-stage canvas{box-shadow:0 2px 12px rgba(0,0,0,.25);background:#fff;max-width:100%;height:auto}.pdf-viewer-wrap.is-fullscreen{position:fixed;inset:0;z-index:9999;background:var(--bg-elev);padding:var(--s-4);margin:0;overflow:auto}.pdf-viewer-wrap.is-fullscreen .pdf-stage{max-height:calc(100vh - 120px)}.pdf-progress{height:8px;border-radius:var(--r-pill);background:var(--bg-sunken);overflow:hidden;margin-top:var(--s-3)}.pdf-progress>span{display:block;height:100%;width:0;background:var(--signal);transition:width .2s ease}.pdf-imggrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--s-3);margin-top:var(--s-4)}.pdf-imgcard{border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-sunken);padding:var(--s-2);display:flex;flex-direction:column;gap:var(--s-2)}.pdf-imgcard img{max-width:100%;height:auto;border-radius:var(--r-sm);background:#fff}.pdf-imgcard .ic-meta{font-size:var(--fs-xs);color:var(--text-mute)}@media (max-width:640px){.pdf-stage-wrap{flex-direction:column}.pdf-thumbs{width:100%;flex-direction:row;max-height:none;overflow-x:auto}.pdf-thumb{flex:none;width:90px}}