/* DS Tools Workspace V2 — dedicated page, left controls + right live preview */
:root{
  --v2-panel:#ffffff;
  --v2-soft:#f7f8fb;
  --v2-soft2:#f2f4f8;
  --v2-line:#e5e8ef;
  --v2-ink:#101828;
  --v2-muted:#667085;
  --v2-shadow:0 18px 55px rgba(16,24,40,.10);
}
.tool-page .tool-main{width:min(1440px,calc(100% - 34px));}
.tool-page .tool-workspace-card{border-radius:24px;box-shadow:var(--v2-shadow);}
.tool-page .tool-workspace-top{padding:16px 22px;background:#fff;}
.tool-page .workspace-body{padding:0!important;background:#f7f8fb!important;}
.ds-workbench{display:grid;grid-template-columns:minmax(300px,360px) minmax(0,1fr);min-height:660px;background:#f7f8fb;}
.ds-controls-pane{position:relative;padding:22px;border-right:1px solid var(--v2-line);background:#fff;min-width:0;}
.ds-controls-scroll{position:sticky;top:86px;display:flex;flex-direction:column;gap:15px;max-height:calc(100vh - 118px);overflow:auto;padding-right:2px;scrollbar-width:thin;}
.ds-preview-pane{min-width:0;background:linear-gradient(180deg,#f6f7fa,#eef1f5);display:flex;flex-direction:column;}
.ds-preview-toolbar{min-height:58px;padding:10px 16px;border-bottom:1px solid var(--v2-line);background:rgba(255,255,255,.92);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:space-between;gap:10px;position:sticky;top:73px;z-index:8;}
.ds-preview-toolbar .left,.ds-preview-toolbar .right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ds-preview-toolbar strong{font:700 12px/1.2 Inter,sans-serif}.ds-preview-toolbar small{font-size:10px;color:var(--v2-muted)}
.ds-preview-content{flex:1;min-height:0;padding:22px;overflow:auto;position:relative;}
.ds-empty-preview{min-height:500px;border:1px dashed #cfd5df;border-radius:20px;background:rgba(255,255,255,.55);display:grid;place-items:center;text-align:center;padding:30px;color:var(--v2-muted)}
.ds-empty-preview .empty-inner{max-width:360px}.ds-empty-preview .empty-icon{width:72px;height:72px;margin:0 auto 15px;border-radius:22px;background:#fff;border:1px solid var(--v2-line);display:grid;place-items:center;font-size:28px;box-shadow:0 10px 30px rgba(16,24,40,.07)}.ds-empty-preview strong{display:block;color:var(--v2-ink);font-size:15px;margin-bottom:6px}.ds-empty-preview p{font-size:11px;line-height:1.6;margin:0}
.v2-section{border:1px solid var(--v2-line);border-radius:16px;background:#fff;padding:14px}.v2-section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.v2-section-title strong{font-size:11px;text-transform:uppercase;letter-spacing:.08em}.v2-section-title span{font-size:9px;color:var(--v2-muted)}
.v2-hint{font-size:10px;line-height:1.55;color:var(--v2-muted);margin:0}.v2-note{padding:11px 12px;border:1px solid #e7eaf0;background:#f8f9fc;border-radius:13px;font-size:10px;line-height:1.55;color:#596275}.v2-note b{color:#283245}
.v2-dropzone{position:relative;border:1.5px dashed #cfd5df;border-radius:18px;background:#fafbfc;padding:18px;text-align:center;transition:.18s}.v2-dropzone.drag{border-color:var(--tool-accent);background:color-mix(in srgb,var(--tool-accent) 5%,white)}.v2-dropzone input[type=file]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.v2-dropzone .drop-symbol{width:48px;height:48px;border-radius:15px;background:var(--tool-tint);color:var(--tool-accent);display:grid;place-items:center;margin:0 auto 9px;font-weight:900}.v2-dropzone strong{display:block;font-size:12px;margin-bottom:3px}.v2-dropzone p{font-size:9.5px;line-height:1.45;color:var(--v2-muted);margin:0 0 10px}.v2-pick{border:0;border-radius:11px;background:var(--tool-accent);color:#fff;padding:10px 13px;font-weight:800;font-size:10px;cursor:pointer;box-shadow:0 7px 18px color-mix(in srgb,var(--tool-accent) 22%,transparent)}
.v2-file-list{display:flex;flex-direction:column;gap:9px}.v2-file-row{display:grid;grid-template-columns:48px minmax(0,1fr) auto;gap:9px;align-items:center;padding:8px;border:1px solid var(--v2-line);border-radius:13px;background:#fff}.v2-file-thumb{width:48px;height:48px;border-radius:10px;background:#f3f5f8;border:1px solid #e8ebf0;display:grid;place-items:center;overflow:hidden;font-size:9px;font-weight:800;color:var(--v2-muted)}.v2-file-thumb img,.v2-file-thumb canvas{width:100%;height:100%;object-fit:cover}.v2-file-info{min-width:0}.v2-file-info b{display:block;font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v2-file-info span{display:block;font-size:8.5px;color:var(--v2-muted);margin-top:3px}.v2-icon-btn{width:30px;height:30px;border-radius:9px;border:1px solid var(--v2-line);background:#fff;display:grid;place-items:center;cursor:pointer;font-size:12px;color:#475467}.v2-icon-btn:hover{border-color:#c8ced9;background:#f7f8fa}.v2-icon-btn.danger:hover{border-color:#fecaca;background:#fff1f2;color:#b42318}.v2-grab{cursor:grab}.v2-grab:active{cursor:grabbing}
.v2-action-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.v2-btn{border:1px solid var(--v2-line);background:#fff;color:#344054;border-radius:11px;padding:9px 11px;font-size:9.5px;font-weight:800;cursor:pointer}.v2-btn:hover{background:#f7f8fa}.v2-btn.accent{border-color:transparent;background:var(--tool-accent);color:#fff}.v2-btn.danger{color:#b42318}.v2-btn:disabled{opacity:.45;cursor:not-allowed}.v2-chip{display:inline-flex;align-items:center;gap:5px;border-radius:999px;border:1px solid var(--v2-line);background:#fff;padding:6px 9px;font-size:9px;color:#475467}.v2-chip b{color:var(--v2-ink)}
.tool-page .control-grid{grid-template-columns:1fr 1fr;gap:10px}.tool-page .control{min-width:0}.tool-page .control label{font-size:9.5px;margin-bottom:5px}.tool-page .control input,.tool-page .control select,.tool-page .control textarea{border-radius:11px;padding:10px 11px;font-size:11px}.tool-page .control textarea{min-height:78px}.tool-page .control small{font-size:8.5px;line-height:1.45}.tool-page .check-row{font-size:9.5px!important;line-height:1.4}.tool-page .action-bar{position:sticky;bottom:0;z-index:5;margin:0 -2px -2px;padding:12px 2px 2px;background:linear-gradient(180deg,rgba(255,255,255,0),#fff 30%);display:flex;flex-direction:column;align-items:stretch}.tool-page .primary-btn{width:100%;min-height:44px;border-radius:12px;font-size:11px}.tool-page .status{font-size:9px;min-height:14px;margin-top:5px}.tool-page .notice{margin:0;border-radius:13px;font-size:9.5px;line-height:1.55}
.ds-workbench .dropzone{min-height:160px!important;border-radius:18px;padding:16px}.ds-workbench .dropzone h3{font-size:12px}.ds-workbench .dropzone p{font-size:9.5px}.ds-workbench .dropzone .drop-icon{width:45px;height:45px;border-radius:14px}.ds-workbench .pick-btn{padding:9px 12px;font-size:10px;border-radius:10px}.ds-workbench .file-chip{border-radius:11px}.ds-workbench .preview{display:block!important;border:0!important;background:transparent!important;margin:0!important;box-shadow:none!important}.ds-workbench .preview-head{display:none!important}.ds-workbench .preview-stage{min-height:0!important;background:transparent!important;border:0!important;padding:0!important;display:block!important;overflow:visible!important}.ds-workbench .preview-stage>img{max-width:100%;max-height:72vh;display:block;margin:auto;border-radius:13px;box-shadow:0 14px 40px rgba(16,24,40,.14)}
.pdf-page-grid,.image-preview-grid,.merge-board,.organize-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:16px;align-items:start}.pdf-thumb-card,.page-card,.merge-card,.scan-card{position:relative;border:1px solid #dfe3ea;background:#fff;border-radius:15px;padding:8px;box-shadow:0 4px 16px rgba(16,24,40,.055);transition:.15s;user-select:none}.pdf-thumb-card:hover,.page-card:hover,.merge-card:hover,.scan-card:hover{transform:translateY(-1px);box-shadow:0 10px 25px rgba(16,24,40,.10)}.pdf-thumb-card canvas,.page-card canvas,.merge-card canvas,.scan-card img{display:block;width:100%;height:auto;border-radius:9px;background:white}.pdf-thumb-card .page-meta,.page-card .page-meta,.merge-card .page-meta,.scan-card .page-meta{display:flex;align-items:center;justify-content:space-between;gap:6px;padding:7px 2px 0;font-size:9px;color:#667085}.page-card.selected,.pdf-thumb-card.selected{border-color:var(--tool-accent);box-shadow:0 0 0 2px var(--tool-tint),0 10px 24px rgba(16,24,40,.10)}.page-card.delete-mark{border-color:#fda29b;background:#fff6f5}.page-card.delete-mark:after{content:"DELETE";position:absolute;top:13px;left:13px;background:#d92d20;color:#fff;font-size:8px;font-weight:900;border-radius:6px;padding:4px 6px;letter-spacing:.06em}.page-card.dragging,.merge-card.dragging{opacity:.45}.page-card.drop-target,.merge-card.drop-target{outline:2px dashed var(--tool-accent);outline-offset:3px}
.page-quick-actions{position:absolute;top:14px;right:14px;display:flex;gap:5px;opacity:0;transform:translateY(-3px);transition:.15s}.page-card:hover .page-quick-actions,.page-card.selected .page-quick-actions{opacity:1;transform:none}.page-quick-actions button{width:27px;height:27px;border:0;border-radius:8px;background:rgba(16,24,40,.88);color:white;font-size:11px;cursor:pointer;box-shadow:0 4px 10px rgba(16,24,40,.18)}.page-quick-actions button.danger{background:rgba(180,35,24,.92)}
.merge-board{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.merge-card{cursor:grab}.merge-card .doc-preview{aspect-ratio:4/5.3;background:#f1f3f6;border-radius:10px;overflow:hidden;display:grid;place-items:center}.merge-card .doc-preview canvas{width:100%;height:100%;object-fit:contain}.merge-card .merge-top{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 1px 0}.merge-card .merge-top b{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.merge-card .merge-sub{font-size:8px;color:#667085;margin-top:3px}.merge-card .remove-file{position:absolute;top:12px;right:12px;width:29px;height:29px;border:0;border-radius:9px;background:rgba(180,35,24,.92);color:#fff;cursor:pointer;font-weight:900;opacity:0;transition:.15s}.merge-card:hover .remove-file{opacity:1}.merge-index{position:absolute;top:12px;left:12px;min-width:27px;height:27px;border-radius:8px;background:rgba(16,24,40,.86);color:#fff;display:grid;place-items:center;font-size:9px;font-weight:900}
.mode-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.mode-tabs button{border:1px solid var(--v2-line);background:#fff;border-radius:11px;padding:9px 7px;font-size:9px;font-weight:800;color:#475467;cursor:pointer}.mode-tabs button.active{border-color:var(--tool-accent);background:var(--tool-tint);color:var(--tool-accent)}.mode-panel{display:none}.mode-panel.active{display:block}.range-list{display:flex;flex-direction:column;gap:7px}.range-row{display:grid;grid-template-columns:1fr 1fr auto;gap:6px;align-items:end}.range-row .control{margin:0}.range-row button{margin-bottom:1px}
.selection-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}.selection-toolbar .v2-btn{padding:7px 9px}.page-selection-count{font-size:9px;color:var(--v2-muted)}
.organize-board{grid-template-columns:repeat(auto-fill,minmax(145px,1fr))}.page-card{cursor:grab}.page-card .source-tag{position:absolute;left:12px;top:12px;max-width:calc(100% - 24px);background:rgba(16,24,40,.82);color:#fff;padding:4px 6px;border-radius:6px;font-size:7.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-card .rotation-badge{position:absolute;bottom:36px;right:12px;background:var(--tool-accent);color:#fff;border-radius:6px;padding:3px 5px;font-size:7px;font-weight:800}.blank-page{aspect-ratio:4/5.4;background:#fff;border:1px dashed #cfd5df;border-radius:9px;display:grid;place-items:center;color:#98a2b3;font-size:10px}.page-card.rot-90 canvas,.page-card.rot-270 canvas{transform:rotate(90deg) scale(.74)}.page-card.rot-180 canvas{transform:rotate(180deg)}
.rotate-card canvas{transition:transform .2s}.rotate-card[data-rotation="90"] canvas{transform:rotate(90deg) scale(.74)}.rotate-card[data-rotation="180"] canvas{transform:rotate(180deg)}.rotate-card[data-rotation="270"] canvas{transform:rotate(270deg) scale(.74)}
.crop-overlay-wrap{position:relative}.crop-overlay-wrap canvas{display:block}.crop-overlay{position:absolute;border:2px solid var(--tool-accent);background:color-mix(in srgb,var(--tool-accent) 10%,transparent);pointer-events:none;border-radius:3px;inset:8%}
.split-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.split-stat{border:1px solid var(--v2-line);background:#fafbfc;border-radius:12px;padding:9px}.split-stat b{font-size:12px;display:block}.split-stat span{font-size:8px;color:#667085}
.scan-board{grid-template-columns:repeat(auto-fill,minmax(175px,1fr))}.scan-card{cursor:grab}.scan-card img{aspect-ratio:4/5.3;object-fit:cover;background:#eef1f5}.scan-card .scan-actions{display:flex;gap:5px;padding-top:7px}.scan-card .scan-actions button{flex:1;border:1px solid var(--v2-line);background:white;border-radius:8px;padding:6px;font-size:8px;font-weight:800;cursor:pointer}.scan-editor{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:14px;min-height:540px}.scan-canvas-wrap{position:relative;border:1px solid #dfe3ea;border-radius:15px;background:#20252f;overflow:hidden;display:grid;place-items:center;min-height:500px}.scan-canvas-wrap img{max-width:100%;max-height:70vh;display:block;user-select:none}.corner-overlay{position:absolute;inset:0;pointer-events:none}.corner-overlay svg{width:100%;height:100%;display:block;overflow:visible}.corner-handle{pointer-events:all;cursor:grab;fill:#fff;stroke:var(--tool-accent);stroke-width:3;filter:drop-shadow(0 3px 6px rgba(0,0,0,.35))}.corner-line{fill:color-mix(in srgb,var(--tool-accent) 11%,transparent);stroke:var(--tool-accent);stroke-width:2;stroke-dasharray:7 5}.scan-side{background:#fff;border:1px solid var(--v2-line);border-radius:15px;padding:13px;overflow:auto}.scan-side h3{font-size:12px;margin:0 0 10px}.scan-side .control-grid{grid-template-columns:1fr!important}.scan-editor-actions{display:flex;gap:7px;flex-wrap:wrap;margin-top:10px}
.image-preview-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr))}.image-card{border:1px solid #dfe3ea;background:#fff;border-radius:15px;padding:8px;box-shadow:0 4px 16px rgba(16,24,40,.055)}.image-card img{display:block;width:100%;max-height:360px;object-fit:contain;background:#f3f5f8;border-radius:9px}.image-card .page-meta{display:flex;justify-content:space-between;gap:8px;font-size:8.5px;color:#667085;padding:7px 2px 1px}.image-card .page-meta b{color:#344054;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:70%}
.ds-zoomable{transform-origin:top center;transition:transform .15s}.zoom-btn{width:31px;height:31px;border:1px solid var(--v2-line);border-radius:9px;background:#fff;font-size:12px;cursor:pointer}.zoom-level{font-size:9px;color:#667085;min-width:38px;text-align:center}
.related-grid{gap:14px!important}.related-card{position:relative;overflow:hidden;padding:18px!important;border-radius:18px!important;min-height:112px;background:linear-gradient(160deg,#fff,#fafbfc)!important}.related-card:before{content:"";position:absolute;width:80px;height:80px;border-radius:50%;right:-28px;top:-28px;background:var(--tool-tint);opacity:.9}.related-card b{font-size:14px!important;position:relative;z-index:1}.related-card span{font-size:9.5px!important;position:relative;z-index:1}.related-card:after{content:"Open →";display:block;margin-top:14px;font-size:9px;font-weight:800;color:var(--tool-accent);position:relative;z-index:1}
.tool-page .brand img,.tool-page footer img{object-fit:contain}.brand img{border-radius:50%}
.web-badge{background:rgba(37,99,235,.10)!important;color:#2563eb!important;border-color:rgba(37,99,235,.18)!important}
@media(max-width:1050px){.ds-workbench{grid-template-columns:310px minmax(0,1fr)}.tool-page .control-grid{grid-template-columns:1fr}.scan-editor{grid-template-columns:1fr}.scan-side{max-height:none}}
@media(max-width:820px){.tool-page .tool-main{width:min(100% - 20px,1440px)}.ds-workbench{display:flex;flex-direction:column;min-height:0}.ds-controls-pane{border-right:0;border-bottom:1px solid var(--v2-line);padding:15px}.ds-controls-scroll{position:static;max-height:none;overflow:visible}.ds-preview-pane{min-height:480px}.ds-preview-toolbar{top:64px}.ds-preview-content{padding:14px}.pdf-page-grid,.organize-board{grid-template-columns:repeat(auto-fill,minmax(125px,1fr));gap:11px}.merge-board,.scan-board{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:11px}.tool-page .control-grid{grid-template-columns:1fr 1fr}.page-quick-actions{opacity:1}.merge-card .remove-file{opacity:1}}
@media(max-width:560px){.tool-page .control-grid{grid-template-columns:1fr}.ds-preview-toolbar{position:static}.pdf-page-grid,.organize-board{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.merge-board,.scan-board,.image-preview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.ds-preview-content{padding:10px}.ds-empty-preview{min-height:340px}.scan-canvas-wrap{min-height:360px}.mode-tabs{grid-template-columns:1fr 1fr}.split-summary{grid-template-columns:1fr}.related-grid{grid-template-columns:1fr 1fr!important}.tool-page .tool-hero{grid-template-columns:auto 1fr!important}.tool-page .privacy-chip{grid-column:1/-1}}
