/* Tools2All Print Imposition — all styles are scoped; the shared template stays untouched. */
.t2a-imposition{--imp-surface:var(--surface);--imp-bg:var(--bg);--imp-soft:var(--bg-soft);--imp-line:var(--line);--imp-ink:var(--ink);--imp-muted:var(--muted);--imp-accent:var(--graphite);--imp-radius:18px;max-width:100%;color:var(--imp-ink);font:inherit;isolation:isolate}
.t2a-imposition *, .t2a-imposition *::before,.t2a-imposition *::after{box-sizing:border-box}
.t2a-imposition button,.t2a-imposition input,.t2a-imposition select{font:inherit}
.t2a-imposition button{cursor:pointer}
.t2a-imposition .imp-topline{display:flex;flex-wrap:wrap;align-items:center;gap:10px 20px;padding:0 2px 19px;border-bottom:1px solid var(--imp-line);margin-bottom:20px}
.t2a-imposition .imp-meta{display:inline-flex;align-items:center;gap:8px;color:var(--imp-muted);font-size:12px;font-weight:750;line-height:1.4}
.t2a-imposition .imp-meta svg{width:16px;height:16px;stroke:currentColor;stroke-width:1.7;fill:none;stroke-linecap:round;stroke-linejoin:round}
.t2a-imposition .imp-meta-dot{width:7px;height:7px;border-radius:50%;background:#3b9d78;box-shadow:0 0 0 4px color-mix(in srgb,#3b9d78 13%,transparent)}
.t2a-imposition .imp-layout{display:grid;grid-template-columns:minmax(340px,405px) minmax(0,1fr);gap:20px;align-items:start}
.t2a-imposition .imp-controls,.t2a-imposition .imp-workspace{background:var(--imp-surface);border:1px solid var(--imp-line);border-radius:var(--imp-radius);min-width:0;overflow:hidden;box-shadow:0 8px 26px rgba(0,0,0,.035)}
.t2a-imposition .imp-controls{background:color-mix(in srgb,var(--imp-surface) 96%,var(--imp-soft))}
.t2a-imposition .imp-section{padding:20px 21px;border-bottom:1px solid var(--imp-line)}
.t2a-imposition .imp-first{padding-top:22px}
.t2a-imposition .imp-step{font-size:11px;letter-spacing:.12em;font-weight:850;color:var(--imp-muted);margin-bottom:13px;text-transform:uppercase}
.t2a-imposition h2{font-size:17px;line-height:1.4;font-weight:850;letter-spacing:-.02em;color:var(--imp-ink);margin:0 0 14px}
.t2a-imposition .imp-dropzone{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:7px;min-height:172px;padding:21px 14px;border:1.5px dashed color-mix(in srgb,var(--imp-accent) 55%,var(--imp-line));border-radius:15px;background:color-mix(in srgb,var(--imp-soft) 42%,var(--imp-surface));transition:border-color .2s,background .2s,transform .2s;cursor:pointer;color:var(--imp-ink)}
.t2a-imposition .imp-dropzone:hover,.t2a-imposition .imp-dropzone.drag{background:var(--imp-soft);border-color:var(--imp-ink);transform:translateY(-2px)}
.t2a-imposition .imp-upload-icon{display:grid;place-items:center;width:46px;height:46px;border-radius:14px;background:var(--imp-ink);color:var(--imp-surface);margin-bottom:3px;box-shadow:0 7px 16px rgba(0,0,0,.13)}
.t2a-imposition .imp-upload-icon svg{width:23px;height:23px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.t2a-imposition .imp-dropzone strong{font-size:13px;line-height:1.5}
.t2a-imposition .imp-dropzone small{font-size:12px;color:var(--imp-muted)}
.t2a-imposition .imp-file-info{font-size:12px;font-weight:650;line-height:1.5;background:var(--imp-soft);border-radius:10px;margin-top:11px;padding:10px 12px;overflow-wrap:anywhere}
.t2a-imposition .imp-file-info.empty{color:var(--imp-muted)}
.t2a-imposition .imp-fields{display:grid;gap:11px;margin-top:11px}
.t2a-imposition .imp-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.t2a-imposition .imp-three{grid-template-columns:repeat(3,minmax(0,1fr))}
.t2a-imposition .imp-fields label,.t2a-imposition .imp-quantity>label{display:block;min-width:0;color:var(--imp-ink);font-size:12px;font-weight:760;line-height:1.45}
.t2a-imposition input[type=number],.t2a-imposition select{display:block;min-width:0;width:100%;height:42px;padding:0 10px;margin-top:7px;background:var(--imp-surface);color:var(--imp-ink);border:1px solid var(--imp-line);border-radius:10px;outline:0;transition:border-color .2s,box-shadow .2s;font-size:12px;font-weight:650}
.t2a-imposition input[type=number]:focus,.t2a-imposition select:focus{border-color:var(--imp-accent);box-shadow:0 0 0 3px color-mix(in srgb,var(--imp-accent) 12%,transparent)}
.t2a-imposition input:disabled{opacity:.45;cursor:not-allowed}
.t2a-imposition .imp-quantity{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:end}
.t2a-imposition .imp-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.t2a-imposition .imp-button{min-height:42px;display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--imp-line);border-radius:11px;padding:9px 12px;font-weight:800;font-size:12px;line-height:1.4;transition:transform .2s,background .2s,border-color .2s}
.t2a-imposition .imp-button:hover{transform:translateY(-2px);border-color:var(--imp-ink)}
.t2a-imposition .imp-button:active{transform:translateY(0)}
.t2a-imposition .imp-outline{color:var(--imp-ink);background:var(--imp-surface)}
.t2a-imposition .imp-main{color:var(--imp-surface);background:var(--imp-ink);border-color:var(--imp-ink)}
.t2a-imposition .imp-note{font-size:12px;line-height:1.5;color:var(--imp-muted);margin-top:12px;min-height:18px}
.t2a-imposition .imp-toggle{display:flex!important;align-items:center;gap:10px;font-size:12px;font-weight:690;color:var(--imp-ink);margin-top:13px;cursor:pointer;line-height:1.55}
.t2a-imposition .imp-toggle input[type=checkbox]{appearance:auto;accent-color:var(--imp-accent);width:17px;height:17px;margin:0;flex:0 0 auto;cursor:pointer}
.t2a-imposition .imp-range{margin-top:17px}
.t2a-imposition .imp-range-head{display:flex;gap:6px;justify-content:space-between;align-items:center;font-weight:720;font-size:12px}
.t2a-imposition .imp-range-head output{border:1px solid var(--imp-line);border-radius:8px;padding:4px 9px;background:var(--imp-soft);font-variant-numeric:tabular-nums;font-weight:800}
.t2a-imposition input[type=range]{display:block;width:100%;margin-top:10px;accent-color:var(--imp-accent);cursor:pointer}
.t2a-imposition .imp-bleed-fields{align-items:end}
.t2a-imposition .imp-bleed-fields .imp-toggle{min-height:42px;margin-top:7px}
.t2a-imposition .dpi-status{margin-top:9px;padding:11px 12px;border-radius:11px;border:1px solid var(--imp-line);font-size:12px;line-height:1.55;overflow-wrap:anywhere}
.t2a-imposition .dpi-status.neutral{color:var(--imp-muted);background:var(--imp-soft)}
.t2a-imposition .dpi-status.good{color:#247657;background:color-mix(in srgb,#3aaa7b 9%,var(--imp-surface));border-color:color-mix(in srgb,#3aaa7b 30%,var(--imp-line))}
.t2a-imposition .dpi-status.warn{color:#ad761b;background:color-mix(in srgb,#edaf32 9%,var(--imp-surface));border-color:color-mix(in srgb,#edaf32 28%,var(--imp-line))}
.t2a-imposition .dpi-status.bad{color:#b14444;background:color-mix(in srgb,#eb6b6b 8%,var(--imp-surface));border-color:color-mix(in srgb,#eb6b6b 28%,var(--imp-line))}
.t2a-imposition .imp-export-block{padding:20px 21px;background:var(--imp-soft)}
.t2a-imposition .imp-export{width:100%;min-height:52px;border-radius:12px;border:1px solid var(--imp-ink);color:var(--imp-surface);background:var(--imp-ink);font-size:13px;font-weight:850;display:flex;gap:11px;align-items:center;justify-content:center;transition:transform .2s,filter .2s;box-shadow:0 10px 24px rgba(0,0,0,.12)}
.t2a-imposition .imp-export svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.t2a-imposition .imp-export:not(:disabled):hover{transform:translateY(-2px);filter:brightness(1.15)}
.t2a-imposition .imp-export:disabled{opacity:.43;cursor:not-allowed;box-shadow:none}
.t2a-imposition .imp-export-block p{font-size:11px;line-height:1.65;color:var(--imp-muted);margin:10px 0 0;text-align:center}
.t2a-imposition .imp-workspace{position:sticky;top:104px}
.t2a-imposition .imp-workspace-header{min-height:83px;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 17px;border-bottom:1px solid var(--imp-line)}
.t2a-imposition .imp-workspace-head{display:flex;gap:12px;align-items:center;min-width:0}
.t2a-imposition .imp-preview-mark{width:42px;height:42px;flex:0 0 auto;display:grid;place-items:center;border:1px solid var(--imp-line);border-radius:12px;background:var(--imp-soft)}
.t2a-imposition .imp-preview-mark svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linejoin:round;stroke-linecap:round}
.t2a-imposition .imp-workspace-head h2{font-size:14px;margin:0}
.t2a-imposition .imp-workspace-head p{margin:2px 0 0;font-size:11px;color:var(--imp-muted);font-weight:650}
.t2a-imposition .imp-zoom{display:flex;align-items:center;gap:6px;flex:0 0 auto;direction:ltr}
.t2a-imposition .imp-zoom button{width:32px;height:32px;border:1px solid var(--imp-line);border-radius:9px;color:var(--imp-ink);background:var(--imp-surface);font-size:19px;line-height:1;font-weight:750;transition:background .2s}
.t2a-imposition .imp-zoom button:hover{background:var(--imp-soft)}
.t2a-imposition .imp-zoom output{min-width:42px;text-align:center;font-size:12px;font-weight:850;font-variant-numeric:tabular-nums}
.t2a-imposition .imp-canvas-stage{height:min(72vh,810px);min-height:540px;overflow:auto;display:flex;justify-content:safe center;align-items:flex-start;padding:32px;overscroll-behavior:contain;background-color:var(--imp-bg);background-image:linear-gradient(45deg,color-mix(in srgb,var(--imp-muted) 6%,transparent) 25%,transparent 25%),linear-gradient(-45deg,color-mix(in srgb,var(--imp-muted) 6%,transparent) 25%,transparent 25%),linear-gradient(45deg,transparent 75%,color-mix(in srgb,var(--imp-muted) 6%,transparent) 75%),linear-gradient(-45deg,transparent 75%,color-mix(in srgb,var(--imp-muted) 6%,transparent) 75%);background-size:24px 24px;background-position:0 0,0 12px,12px -12px,-12px 0}
.t2a-imposition .imp-paper-wrap{transform-origin:top center;transition:transform .2s ease;flex:0 0 auto}
.t2a-imposition .imp-paper-wrap canvas{display:block;max-width:none;background:white;box-shadow:0 16px 40px rgba(0,0,0,.16),0 0 0 1px rgba(0,0,0,.12)}
.t2a-imposition .imp-preview-footer{display:flex;flex-wrap:wrap;gap:11px 18px;align-items:center;border-top:1px solid var(--imp-line);padding:15px 18px;font-size:11px;color:var(--imp-muted);font-weight:700}
.t2a-imposition .imp-preview-footer span{display:inline-flex;align-items:center;gap:7px}
.t2a-imposition .imp-legend-line{width:18px;height:0;border-top:1.5px solid var(--imp-ink)}
.t2a-imposition .imp-legend-line.bleed{border-top:1.5px dashed #a87553}
.t2a-imposition .imp-live{margin-inline-start:auto}
.t2a-imposition .imp-live i{height:7px;width:7px;border-radius:50%;background:#3b9d78}
.t2a-imposition .imp-help{font-size:11px;line-height:1.6;color:var(--imp-muted);padding:0 18px 18px;margin:0}
.t2a-imposition :is(button,input,select,.imp-dropzone):focus-visible{outline:2px solid var(--imp-accent);outline-offset:3px}
@media(max-width:1070px){.t2a-imposition .imp-layout{grid-template-columns:minmax(310px,365px) minmax(0,1fr)}.t2a-imposition .imp-canvas-stage{padding:18px}.t2a-imposition .imp-fields.imp-three{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:870px){.t2a-imposition .imp-layout{display:flex;flex-direction:column-reverse}.t2a-imposition .imp-controls,.t2a-imposition .imp-workspace{width:100%}.t2a-imposition .imp-workspace{position:static}.t2a-imposition .imp-canvas-stage{height:500px;min-height:450px}.t2a-imposition .imp-fields.imp-three{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:560px){.t2a-imposition .imp-topline{gap:8px 13px;padding-bottom:14px}.t2a-imposition .imp-meta{font-size:10px}.t2a-imposition .imp-workspace-header{flex-wrap:wrap;padding:12px}.t2a-imposition .imp-workspace-head{flex:1}.t2a-imposition .imp-canvas-stage{height:430px;min-height:420px;padding:12px}.t2a-imposition .imp-zoom output{min-width:33px}.t2a-imposition .imp-section,.t2a-imposition .imp-export-block{padding:17px 15px}.t2a-imposition .imp-fields.imp-three{grid-template-columns:repeat(2,minmax(0,1fr))}.t2a-imposition .imp-preview-footer{gap:12px;font-size:10px}.t2a-imposition .imp-live{margin-inline-start:0}}
@media(prefers-reduced-motion:reduce){.t2a-imposition *, .t2a-imposition *::before,.t2a-imposition *::after{transition:none!important;animation:none!important}}
