.icp-grid{display:grid;grid-template-columns:290px 1fr;gap:16px;align-items:start}@media(max-width:640px){.icp-grid{grid-template-columns:1fr}}.ctrl-col{display:flex;flex-direction:column;gap:12px}.icp-card{background:var(--card);border-radius:var(--radius);box-shadow:var(--shadow);padding:14px 16px}.icp-title{font-size:11px;font-weight:700;color:var(--sub);text-transform:uppercase;letter-spacing:.8px;margin-bottom:12px}.urow{display:flex;align-items:center;gap:8px}.uzone{flex:1;height:68px;border:1.5px dashed var(--border);border-radius:10px;background:var(--card-alt);cursor:pointer;overflow:hidden;position:relative;display:flex;align-items:center;justify-content:center;transition:border-color .2s,background .2s}.uzone:hover,.uzone.drag-over{border-color:var(--primary);background:var(--primary-muted)}.uzone.filled{border-style:solid;border-color:var(--border)}.uzone-empty{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--sub);pointer-events:none}.uzone-ico{font-size:20px;line-height:1}.uzone-lbl{font-weight:500}.uzone-thumb{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#fff}.udel-btn{width:28px;height:28px;flex-shrink:0;background:var(--card-alt);border:none;border-radius:8px;font-size:12px;cursor:pointer;color:var(--sub);display:flex;align-items:center;justify-content:center;transition:all .15s}.udel-btn:hover{background:#fee2e2;color:#ef4444}.edit-panel{margin-top:8px;padding:10px 10px 8px;background:var(--card-alt);border-radius:10px;display:flex;flex-direction:column;gap:6px}.ep-ctrl-row{display:flex;align-items:center;gap:5px}.ep-adj-btn{width:28px;height:28px;flex-shrink:0;background:var(--card);border:none;border-radius:7px;font-size:16px;font-weight:700;cursor:pointer;color:var(--sub);display:flex;align-items:center;justify-content:center;box-shadow:0 1px 3px #0000000f;transition:background .15s,color .15s,transform .1s;line-height:1;user-select:none;touch-action:manipulation}.ep-adj-btn:hover{background:var(--primary-muted);color:var(--primary)}.ep-adj-btn:active{transform:scale(.88)}.ep-slider{flex:1;accent-color:var(--primary);border:none;background:transparent;padding:0;cursor:pointer;min-width:0;height:20px;-webkit-appearance:none;appearance:none}.ep-slider::-webkit-slider-runnable-track{height:4px;border-radius:2px;background:var(--border)}.ep-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:18px;height:18px;border-radius:50%;background:var(--primary);margin-top:-7px;cursor:pointer;box-shadow:0 1px 3px #0003}.ep-slider::-moz-range-track{height:4px;border-radius:2px;background:var(--border);border:none}.ep-slider::-moz-range-thumb{border:none;width:18px;height:18px;border-radius:50%;background:var(--primary);cursor:pointer;box-shadow:0 1px 3px #0003}.ep-val{font-size:11px;font-weight:600;color:var(--text);min-width:44px;text-align:right;font-variant-numeric:tabular-nums;flex-shrink:0}.ep-lbl{font-size:12px;color:var(--sub);flex-shrink:0;width:28px}.ep-hint-row{display:flex;align-items:center;justify-content:space-between;padding-top:2px}.ep-hint{font-size:11px;color:var(--sub)}.ep-reset{font-size:11px;color:var(--primary);background:none;border:none;cursor:pointer;padding:2px 6px;border-radius:4px}.ep-reset:hover{background:var(--primary-muted)}.wm-body{display:flex;flex-direction:column;gap:7px;margin-top:4px}.wm-input{width:100%;padding:7px 10px;box-sizing:border-box;border:1.5px solid var(--border);border-radius:8px;background:var(--card-alt);font-size:13px;color:var(--text);transition:border-color .2s}.wm-input:focus{outline:none;border-color:var(--primary)}.wm-color-row{display:flex;align-items:center;gap:10px}.wm-colors{display:flex;gap:6px}.wm-color{width:22px;height:22px;border-radius:50%;border:2px solid transparent;cursor:pointer;outline:none;transition:border-color .15s,box-shadow .15s;flex-shrink:0}.wm-color.active{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-muted)}.wm-color[data-color="#ffffff"]{box-shadow:inset 0 0 0 1px #ccc}.wm-color[data-color="#ffffff"].active{box-shadow:inset 0 0 0 1px #ccc,0 0 0 2px var(--primary-muted)}.wm-drag-hint{font-size:11px;color:var(--sub);margin:0;padding:2px 2px 0}.srow{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px 0;border-top:1px solid var(--border)}.srow:first-of-type{padding-top:0;border-top:none}.slab{font-size:14px;color:var(--sub)}.seg-ctrl{display:flex;gap:3px;background:var(--card-alt);padding:3px;border-radius:8px}.seg-btn{padding:4px 10px;border:none;border-radius:6px;font-size:13px;font-weight:600;cursor:pointer;background:transparent;color:var(--sub);transition:all .15s}.seg-btn.active{background:var(--primary);color:#fff}.seg-btn:not(.active):hover{color:var(--text)}.sw-wrap{position:relative;display:inline-block;width:40px;height:22px;cursor:pointer;flex-shrink:0}.sw-wrap input{opacity:0;width:0;height:0;position:absolute}.sw-track{position:absolute;inset:0;background:var(--border);border-radius:11px;transition:background .2s}.sw-track:before{content:"";position:absolute;width:16px;height:16px;border-radius:50%;background:#fff;top:3px;left:3px;transition:transform .2s;box-shadow:0 1px 3px #0003}.sw-wrap input:checked+.sw-track{background:var(--primary)}.sw-wrap input:checked+.sw-track:before{transform:translate(18px)}.btn-row{display:flex;gap:8px}.btn-print,.btn-save{flex:1;padding:13px;border:none;border-radius:12px;font-size:14px;font-weight:700;cursor:pointer;transition:filter .15s,opacity .15s}.btn-print{background:linear-gradient(135deg,var(--primary),var(--primary-end));color:#fff}.btn-save{background:var(--card-alt);color:var(--text);box-shadow:var(--shadow)}.btn-print:hover:not(:disabled){filter:brightness(1.08)}.btn-save:hover:not(:disabled){filter:brightness(.95)}.btn-print:disabled,.btn-save:disabled{opacity:.38;cursor:not-allowed}.print-tip-card{padding:12px 14px}.tip-list{display:flex;flex-direction:column;gap:5px}.tip-item{font-size:13px;color:var(--sub)}.tip-item b{color:var(--text);font-weight:600}.preview-col{display:flex;flex-direction:column;align-items:flex-start;gap:8px}.a4-wrap{width:100%;position:relative;overflow:hidden}@media(max-width:640px){.preview-col{order:-1}}.a4-page{width:210mm;height:297mm;background:#fff;position:absolute;top:0;left:0;transform-origin:top left;box-shadow:0 4px 28px #00000024}.cw{position:absolute;display:flex;flex-direction:column;align-items:center;gap:2px}.a4-page.lay-v .front-cw{width:85.6mm;left:62.2mm;top:92mm}.a4-page.lay-v .back-cw{width:85.6mm;left:62.2mm;top:151mm}.a4-page.lay-h .front-cw{width:85.6mm;left:calc((210mm - 85.6mm * 2 - 5mm) / 2);top:121.5mm}.a4-page.lay-h .back-cw{width:85.6mm;left:107.5mm;top:121.5mm}.a4-page.range-front .back-cw,.a4-page.range-back .front-cw{display:none!important}.a4-page.range-front .front-cw,.a4-page.range-back .back-cw{left:62.2mm!important;top:121.5mm!important}.id-slot{width:85.6mm;height:54mm;background:#e8e8e8;position:relative;overflow:hidden;flex-shrink:0}.id-slot.has-img{cursor:grab}.id-slot.has-img:active{cursor:grabbing}.id-slot.wm-over{cursor:move!important}.slot-canvas{position:absolute;top:0;left:0;width:100%;height:100%;display:block;pointer-events:none}.id-slot.cut-on{outline:.6pt dashed #888;outline-offset:1.5mm}.slot-ph{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:14px;color:#bbb;font-weight:500;pointer-events:none}.slot-lbl{font-size:8pt;color:#999;text-align:center;padding-top:1mm;line-height:1}.preview-note{font-size:11px;color:var(--sub);padding-left:2px}@media print{@page{size:A4 portrait;margin:0}html,body{width:210mm!important;height:297mm!important;overflow:hidden!important;margin:0!important;padding:0!important}body *{visibility:hidden!important}body>div{min-height:0!important;height:0!important;overflow:hidden!important;padding:0!important}#a4Page,#a4Page *{visibility:visible!important}#a4Page{position:fixed!important;top:0!important;left:0!important;width:210mm!important;height:297mm!important;transform:none!important;box-shadow:none!important;background:#fff!important}.slot-ph{display:none!important}.slot-lbl{color:#777!important}.id-slot.cut-on{outline:.5pt dashed #aaa!important;outline-offset:1mm!important}}[data-theme=dark] .a4-page{background:#fff}[data-theme=dark] .id-slot{background:#d0d0d0}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .a4-page{background:#fff}:root:not([data-theme=light]) .id-slot{background:#d0d0d0}}
