.pdr-tool .pdr-shell{display: grid;grid-template-columns: 300px minmax(0,1fr);gap: 16px;align-items: start}.pdr-tool .pdr-sidebar,.pdr-tool .pdr-viewer{border: 1px solid var(--border);border-radius: 8px;background: #fff;box-shadow: var(--shadow-sm)}.pdr-tool .pdr-sidebar{padding: 14px}.pdr-tool .pdr-upload{display: grid;gap: 4px;min-height: 134px;padding: 18px 14px;border: 2px dashed var(--primary);border-radius: 8px;background: var(--primary-soft);color: var(--text);text-align: center;cursor: pointer;transition: border-color .15s ease,background-color .15s ease}.pdr-tool .pdr-upload:hover,.pdr-tool .pdr-upload.dragover{border-color: var(--primary-hover);background: var(--bg-blue)}.pdr-tool .pdr-upload i{color: var(--primary);font-size: 34px}.pdr-tool .pdr-upload strong{font-size: 15px}.pdr-tool .pdr-upload span{color: var(--text-2);font-size: 12.5px}.pdr-tool .pdr-privacy{display: flex;gap: 7px;margin: 10px 0 12px;color: var(--text-2);font-size: 12.5px;line-height: 1.45}.pdr-tool .pdr-privacy i{color: var(--success);margin-top: 1px}.pdr-tool .pdr-file-card{display: flex;align-items: center;gap: 10px;margin-bottom: 12px;padding: 10px;border: 1px solid var(--border);border-radius: 8px;background: var(--bg-soft)}.pdr-tool .pdr-file-card i{color: var(--primary);font-size: 24px}.pdr-tool .pdr-file-card strong,.pdr-tool .pdr-file-card span{display: block;max-width: 210px;overflow: hidden;text-overflow: ellipsis;white-space: nowrap}.pdr-tool .pdr-file-card strong{color: var(--text);font-size: 13px}.pdr-tool .pdr-file-card span{color: var(--text-2);font-size: 12px}.pdr-tool .pdr-search{margin-bottom: 12px}.pdr-tool .pdr-search label{display: block;margin: 0 0 6px;color: var(--text-2);font-size: 13px;font-weight: 700}.pdr-tool .pdr-search-row{display: grid;grid-template-columns: minmax(0,1fr) 42px;gap: 6px}.pdr-tool .pdr-search-row .btn{min-width: 42px;padding-left: 0;padding-right: 0}.pdr-tool .pdr-search-meta{min-height: 18px;margin-top: 6px;color: var(--text-2);font-size: 12px}.pdr-tool .pdr-thumbs{display: grid;gap: 8px;max-height: 660px;overflow: auto}.pdr-tool .pdr-thumb{display: grid;grid-template-columns: 48px minmax(0,1fr);gap: 9px;align-items: center;min-height: 64px;padding: 8px;border: 1px solid var(--border);border-radius: 8px;background: var(--bg-soft);color: var(--text);text-align: left;cursor: pointer}.pdr-tool .pdr-thumb.is-active{border-color: var(--primary);background: var(--primary-soft)}.pdr-tool .pdr-thumb-box{display: grid;place-items: center;width: 48px;height: 48px;border-radius: 6px;background: #fff;color: var(--primary);font-weight: 800}.pdr-tool .pdr-thumb-title{overflow: hidden;font-size: 13px;font-weight: 700;text-overflow: ellipsis;white-space: nowrap}.pdr-tool .pdr-thumb-meta{color: var(--text-2);font-size: 11.5px}.pdr-tool .pdr-viewer{overflow: hidden}.pdr-tool .pdr-toolbar{display: flex;flex-wrap: wrap;gap: 8px;align-items: center;justify-content: space-between;padding: 10px;border-bottom: 1px solid var(--border);background: var(--bg-soft)}.pdr-tool .pdr-toolbar-group{display: flex;gap: 6px;align-items: center;min-height: 36px}.pdr-tool .pdr-toolbar .btn{display: inline-flex;align-items: center;justify-content: center;min-width: 36px;height: 36px;padding: 0 10px}.pdr-tool .pdr-toolbar .btn.disabled{pointer-events: none;opacity: .55}.pdr-tool .pdr-page-jump{display: flex;align-items: center;gap: 6px;margin: 0}.pdr-tool .pdr-page-jump input{width: 68px;height: 36px;text-align: center}.pdr-tool .pdr-page-jump span{min-width: 38px;color: var(--text-2);font-size: 13px}.pdr-tool #pdr-zoom{width: 112px;height: 36px}.pdr-tool .pdr-status{padding: 9px 12px;border-bottom: 1px solid var(--border);background: var(--primary-soft);color: var(--primary);font-size: 13px;font-weight: 700}.pdr-tool .pdr-status.is-error{background: var(--danger-soft);color: var(--danger)}.pdr-tool .pdr-stage{position: relative;display: flex;align-items: flex-start;justify-content: center;min-height: 760px;height: calc(100vh - 170px);max-height: 920px;overflow: auto;padding: 16px;scrollbar-gutter: stable;background: linear-gradient(45deg,rgba(148,163,184,.12) 25%,transparent 25%),linear-gradient(-45deg,rgba(148,163,184,.12) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,rgba(148,163,184,.12) 75%),linear-gradient(-45deg,transparent 75%,rgba(148,163,184,.12) 75%);background-color: #eef2f7;background-position: 0 0,0 8px,8px -8px,-8px 0;background-size: 16px 16px}.pdr-tool .pdr-canvas{display: block;max-width: none;background: #fff;box-shadow: 0 18px 45px rgba(15,23,42,.18)}.pdr-tool .pdr-empty{position: absolute;inset: 18px;display: flex;flex-direction: column;align-items: center;justify-content: center;border: 1px dashed var(--border-strong);border-radius: 8px;background: rgba(255,255,255,.72);color: var(--text-3);text-align: center}.pdr-tool .pdr-empty i{margin-bottom: 8px;font-size: 44px}.pdr-tool .pdr-empty p{margin: 0;font-size: 13px}:root[data-theme="dark"] .pdr-tool .pdr-sidebar,:root[data-theme="dark"] .pdr-tool .pdr-viewer,:root[data-theme="dark"] .pdr-tool .pdr-thumb-box{background: #181d1a}:root[data-theme="dark"] .pdr-tool .pdr-file-card,:root[data-theme="dark"] .pdr-tool .pdr-toolbar,:root[data-theme="dark"] .pdr-tool .pdr-thumb{background: var(--bg-soft);border-color: var(--border)}:root[data-theme="dark"] .pdr-tool .pdr-stage{background-color: #101513}:root[data-theme="dark"] .pdr-tool .pdr-empty{background: rgba(24,29,26,.72)}@media (max-width: 991px){.pdr-tool .pdr-shell{grid-template-columns: 1fr}.pdr-tool .pdr-thumbs{grid-template-columns: repeat(auto-fill,minmax(140px,1fr));max-height: 190px}.pdr-tool .pdr-stage{min-height: 620px;height: calc(100vh - 190px);max-height: 820px}}@media (max-width: 640px){.pdr-tool .pdr-sidebar{padding: 12px}.pdr-tool .pdr-toolbar{align-items: stretch}.pdr-tool .pdr-toolbar-group{width: 100%;justify-content: space-between}.pdr-tool .pdr-toolbar .btn{flex: 1 1 36px}.pdr-tool .pdr-page-jump{flex: 1 1 auto;justify-content: center}.pdr-tool #pdr-zoom{flex: 1 1 auto;width: auto}.pdr-tool .pdr-stage{min-height: 520px;height: 72vh;max-height: 720px;padding: 8px}.pdr-tool .pdr-empty{inset: 8px}}