.tag-composer{gap:16px;display:grid}.tag-platforms{flex-wrap:wrap;gap:8px;margin:6px 0 4px;display:flex}.tag-pill{border:1px solid var(--line);background:var(--surface);color:var(--ink);cursor:pointer;border-radius:20px;padding:8px 16px;font-size:13px}.tag-pill.active{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.tag-categories{flex-wrap:wrap;align-items:center;gap:6px;margin:10px 0;display:flex}.tag-chip{border:1px solid var(--line);background:var(--surface-subtle);color:var(--text-secondary);cursor:pointer;border-radius:6px;padding:5px 10px;font-size:12px}.tag-chip.active{background:var(--teal-light);border-color:var(--focus);color:var(--teal)}.tag-search{border:1px solid var(--line);background:var(--surface);color:var(--muted);border-radius:8px;align-items:center;gap:6px;margin-left:auto;padding:4px 10px;transition:border-color .15s,box-shadow .15s;display:inline-flex}.tag-search input{color:var(--ink);background:0 0;border:0;outline:none;min-width:120px;font-size:12px}.tag-create-btn{border:1px solid var(--accent-solid);color:var(--accent-solid);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:5px 11px;font-size:12px;display:inline-flex}.tag-create-btn:hover{background:var(--teal-light)}.tag-create-form{border:1px dashed var(--accent-solid);background:var(--surface-subtle);border-radius:10px;grid-template-columns:1fr 180px;gap:10px 12px;margin:8px 0 12px;padding:14px;display:grid}.tag-create-form>label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.tag-create-form input,.tag-create-form select{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:400;font:inherit;border-radius:7px;min-width:0;padding:9px 10px}.tag-elements{color:var(--text-secondary);flex-direction:column;grid-column:1/-1;gap:7px;font-size:12px;font-weight:600;display:flex}.tag-elements>div{flex-wrap:wrap;gap:6px;display:flex}.tag-create-actions{grid-column:1/-1;align-items:center;gap:12px;display:flex}.tag-create-actions small{color:var(--muted)}.tag-template-list{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:8px;margin-top:4px;display:grid}.tag-template-wrap{min-width:0;position:relative}.tag-template-wrap.active .tag-template{border-color:var(--accent-solid);background:var(--teal-light)}.tag-template{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;width:100%;color:var(--ink);border-radius:8px;flex-direction:column;align-items:stretch;gap:8px;min-width:0;padding:10px 12px;display:flex}.tag-template:hover{border-color:var(--focus)}.tag-thumb{border:1px solid var(--line);background:#fff;border-radius:6px;justify-content:center;align-items:center;min-height:96px;padding:6px;display:flex}.tag-thumb-svg{max-width:100%;height:auto;max-height:140px;display:block}.tag-template-name{overflow-wrap:anywhere;font-size:12px;line-height:1.5}.tag-template-size{color:var(--muted);background:var(--surface-subtle);border-radius:4px;flex-shrink:0;align-self:flex-start;padding:3px 6px;font-size:11px}.tag-custom-badge{color:var(--accent-solid);border:1px solid var(--accent-solid);vertical-align:1px;border-radius:4px;margin-right:6px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:700}.tag-remove{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--danger);cursor:pointer;opacity:0;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:-7px;right:-7px}.tag-template-wrap:hover .tag-remove{opacity:1}.tag-edit-btn{border:1px solid var(--line);background:var(--surface);width:22px;height:22px;color:var(--accent-solid);cursor:pointer;opacity:0;z-index:2;border-radius:50%;justify-content:center;align-items:center;transition:opacity .15s;display:flex;position:absolute;top:-7px;right:19px}.tag-template-wrap:hover .tag-edit-btn{opacity:1}.tag-my-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:8px;display:grid}.tag-my-card{text-align:left;border:1px solid var(--line);background:var(--surface);cursor:pointer;color:var(--ink);border-radius:10px;flex-direction:column;gap:6px;min-width:0;padding:8px;transition:border-color .15s,box-shadow .15s;display:flex;position:relative}.tag-my-card:hover{border-color:var(--accent-solid);box-shadow:0 4px 14px #0001}.tag-my-card .tag-thumb{min-height:80px;padding:4px}.tag-my-name{overflow-wrap:anywhere;font-size:12px;line-height:1.4}.tag-my-size{color:var(--muted);background:var(--surface-subtle);border-radius:4px;align-self:flex-start;padding:2px 6px;font-size:10.5px}.tag-my-remove{background:var(--surface);border:1px solid var(--line);width:20px;height:20px;color:var(--text-secondary);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:4px;right:4px}.tag-my-remove:hover{color:#d93026;background:#fff5f5;border-color:#d93026}.tag-import-pdf-btn{margin-left:4px}.tag-pdf-import-modal{width:min(640px,100%)}.tag-pdf-import-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:14px;margin:12px 0;display:grid}.tag-pdf-preview{border:1px solid var(--line);background:var(--surface-subtle);border-radius:10px;justify-content:center;align-items:center;min-height:180px;padding:8px;display:flex}.tag-pdf-preview img{object-fit:contain;max-width:100%;max-height:320px}.tag-pdf-nopreview{color:var(--muted);text-align:center;padding:20px;font-size:12px}.tag-pdf-meta{color:var(--ink);flex-direction:column;gap:10px;font-size:12px;display:flex}.tag-pdf-meta label{color:var(--muted);flex-direction:column;gap:4px;font-size:12px;display:flex}.tag-pdf-meta input{border:1px solid var(--line);font:inherit;color:var(--ink);background:var(--surface);border-radius:8px;padding:8px 10px;font-size:13px}.tag-pdf-size{font-weight:600}.tag-pdf-rows{color:var(--text-secondary);font-size:11.5px;line-height:1.5}.tag-pdf-tip{color:var(--muted);border:1px dashed var(--line);background:var(--surface-subtle);border-radius:8px;padding:8px;font-size:11px;line-height:1.5}.tag-search:focus-within{border-color:#f97316;box-shadow:0 0 0 2px #f9731624}.tag-my-search{margin-left:0;margin-right:auto}@media (max-width:700px){.tag-pdf-import-grid{grid-template-columns:1fr}}.tag-more-btn{border:1px dashed var(--line);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:8px;width:100%;margin-top:10px;padding:7px 0;font-size:12px}.tag-more-btn:hover{border-color:var(--accent-solid);color:var(--accent-solid)}.tag-pager{justify-content:center;align-items:center;gap:10px;margin-top:10px;display:flex}.tag-pager .tag-more-btn{width:auto;padding:7px 16px}.tag-pager .tag-more-btn:disabled{opacity:.4;cursor:not-allowed}.tag-pager-info{color:var(--text-secondary);white-space:nowrap;font-size:12px}.tag-modal-mask{z-index:60;background:#0008;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.tag-modal{background:var(--surface);border:1px solid var(--line);border-radius:14px;width:min(440px,100%);max-height:90vh;padding:22px;overflow:auto;box-shadow:0 24px 60px #0004}.tag-modal h3{color:var(--ink);margin:0 0 6px;font-size:16px}.tag-modal-sub{color:var(--muted);margin:0 0 14px;font-size:12px}.tag-size-presets{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px;display:grid}.tag-size-presets button{border:1px solid var(--line);background:var(--surface-subtle);color:var(--ink);cursor:pointer;border-radius:8px;padding:9px 6px;font-size:12px}.tag-size-presets button.active{border-color:var(--accent-solid);background:var(--teal-light);color:var(--accent-solid);font-weight:700}.tag-modal-fields{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.tag-modal-fields label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.tag-modal-fields input{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:7px;padding:9px 10px}.tag-modal-actions{justify-content:flex-end;gap:10px;display:flex}.tag-editor-mount{z-index:70;background:var(--surface);position:fixed;inset:0;overflow:auto}.tag-editor{flex-direction:column;min-height:100%;display:flex}.tag-editor-top{z-index:5;border-bottom:1px solid var(--line);background:var(--surface);flex-wrap:wrap;align-items:center;gap:10px;padding:10px 16px;display:flex;position:sticky;top:0}.tag-editor-title{color:var(--ink);align-items:center;gap:8px;font-size:15px;display:flex}.tag-editor-name{color:var(--muted);font-size:12px}.tag-editor-tools{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.tag-tool{border:1px solid var(--line);background:var(--surface-subtle);color:var(--ink);cursor:pointer;border-radius:7px;align-items:center;gap:4px;padding:7px 10px;font-size:12px;display:inline-flex}.tag-tool:hover{border-color:var(--focus);color:var(--accent-solid)}.tag-current-size{color:var(--muted);border:1px dashed var(--line);border-radius:7px;padding:7px 10px;font-size:12px}.tag-ctx-bar{background:var(--surface-subtle);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;max-width:100%;padding:4px 8px;display:inline-flex}.tag-ctx-bar .tag-tool{background:var(--surface)}.tag-ctx-bar .tag-tool.on{border-color:var(--accent-solid);color:var(--accent-solid)}.tag-ctx-bar .tag-danger:hover{color:#dc2626;border-color:#dc2626}.tag-ctx-fs{border:1px solid var(--line);background:var(--surface);border-radius:7px;align-items:center;display:inline-flex;overflow:hidden}.tag-ctx-fs button{cursor:pointer;color:var(--ink);background:0 0;border:0;padding:6px 9px;font-size:13px}.tag-ctx-fs span{text-align:center;min-width:30px;font-size:12px}.tag-ctx-label{color:var(--muted);font-size:11px}.tag-ctx-size{border:1px solid var(--line);background:var(--surface);border-radius:7px;align-items:center;gap:2px;padding:0 6px;display:inline-flex}.tag-ctx-size input{text-align:center;background:0 0;border:0;width:44px;padding:6px 0;font-size:12px}.tag-ctx-size span{color:var(--muted);font-size:11px}.tag-editor-canvas{position:relative}.tag-inline-edit{box-sizing:border-box;border:1.5px solid var(--accent-solid);background:var(--surface);width:100%;height:100%;color:var(--ink);resize:none;border-radius:4px;padding:0;font-family:Arial,sans-serif;display:block;overflow:auto}.tag-tool-drop{position:relative}.tag-layer-menu{z-index:40;background:var(--surface);border:1px solid var(--line);border-radius:12px;min-width:150px;padding:8px;position:absolute;top:calc(100% + 10px);left:50%;transform:translate(-50%);box-shadow:0 16px 40px #0003}.tag-layer-menu:before{content:"";background:var(--surface);border-left:1px solid var(--line);border-top:1px solid var(--line);width:12px;height:12px;position:absolute;top:-7px;left:50%;transform:translate(-50%)rotate(45deg)}.tag-layer-menu button{text-align:center;width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 14px;font-size:13px;display:block}.tag-layer-menu button:hover{background:var(--surface-subtle);color:var(--accent-solid)}.tag-tool-panel{z-index:30;background:var(--surface);border:1px solid var(--line);border-radius:10px;width:340px;max-height:60vh;padding:10px;position:absolute;top:calc(100% + 6px);left:0;overflow:auto;box-shadow:0 16px 40px #0003}.tag-mark-group h5{color:var(--muted);margin:8px 0 6px;font-size:11px;font-weight:600}.tag-mark-group:first-child h5{margin-top:0}.tag-mark-grid{grid-template-columns:repeat(5,1fr);gap:6px;display:grid}.tag-mark-item{border:1px solid var(--line);background:var(--surface-subtle);cursor:pointer;color:var(--text-secondary);border-radius:8px;flex-direction:column;align-items:center;gap:4px;padding:6px 2px;font-size:10px;display:flex}.tag-mark-item svg{width:40px;height:40px}.tag-mark-item:hover{border-color:var(--accent-solid)}.tag-warn-panel{width:340px;max-height:420px;overflow:auto}.tag-warn-panel button{text-align:left;border:1px solid var(--line);background:var(--surface-subtle);cursor:pointer;width:100%;color:var(--ink);border-radius:7px;margin-bottom:6px;padding:8px 10px;font-size:11px;line-height:1.5;display:block}.tag-warn-panel button small{color:var(--muted);display:block}.tag-warn-panel button:hover{border-color:var(--accent-solid)}.tag-warn-panel .tag-warn-title{color:var(--ink);font-size:12px;font-weight:600;display:block}.tag-warn-panel .tag-warn-en{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;display:block;overflow:hidden}.tag-editor-body{flex:1;grid-template-columns:minmax(0,1fr) 300px;align-items:start;gap:14px;padding:14px 16px 40px;display:grid}.tag-editor-canvas{background:var(--surface-subtle);border:1px solid var(--line);border-radius:12px;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.tag-editor-svg{touch-action:none;background:#fff;border-radius:4px;max-width:min(560px,100%);box-shadow:0 10px 30px #0002}.tag-el.selected *{cursor:move}.tag-editor-hint{color:var(--muted);font-size:11px}.tag-editor-props{border:1px solid var(--line);border-radius:12px;flex-direction:column;gap:10px;padding:14px;display:flex;position:sticky;top:72px}.tag-pdf-card{border:1px solid var(--line);background:var(--surface-subtle);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.tag-pdf-card h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:12px}.tag-pdf-card .secondary-button,.tag-pdf-card .primary-button{cursor:pointer;border:1px solid var(--line);border-radius:7px;padding:7px 10px;font-size:12px}.tag-pdf-card .primary-button{background:var(--accent-solid);color:#fff;border-color:var(--accent-solid)}.tag-pdf-card .secondary-button{background:var(--surface);color:var(--ink)}.tag-pdf-card .secondary-button:disabled,.tag-pdf-card .primary-button:disabled{opacity:.5;cursor:not-allowed}.tag-pdf-meta{color:var(--text-secondary);font-size:11px}.tag-pdf-err{color:#d93026;font-size:11px;line-height:1.4}.tag-pdf-pages{gap:6px;padding:4px 0;display:flex;overflow-x:auto}.tag-pdf-pages img{border:1px solid var(--line);background:#fff;border-radius:4px;height:44px}.tag-pdf-actions{flex-direction:column;gap:6px;display:flex}.tag-pdf-tip{color:var(--muted);font-size:10.5px;line-height:1.55}.tag-editor-props h4{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 0;font-size:12px}.tag-editor-props>label,.tag-editor-props label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.tag-editor-props input,.tag-editor-props select,.tag-editor-props textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:400;font:inherit;border-radius:7px;min-width:0;padding:8px 9px}.tag-editor-props textarea{resize:vertical}.tag-check{align-items:center;gap:6px;flex-direction:row!important}.tag-layers{flex-direction:column;gap:4px;max-height:180px;display:flex;overflow:auto}.tag-layer{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:var(--surface-subtle);border-radius:7px;align-items:center;gap:8px;padding:6px 8px;font-size:12px;display:flex}.tag-layer.active{border-color:var(--accent-solid);background:var(--teal-light)}.tag-layer-no{color:var(--muted);min-width:16px;font-size:10px}.tag-layer-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.tag-layer-del{color:var(--danger);cursor:pointer;background:0 0;border:0;padding:2px;display:flex}.tag-editor-empty{color:var(--muted);margin:0;font-size:12px}.tag-remove-btn{border:1px solid var(--danger);color:var(--danger);cursor:pointer;background:0 0;border-radius:7px;align-items:center;gap:6px;padding:8px 10px;font-size:12px;display:inline-flex}.tag-editor-save{border-top:1px solid var(--line);flex-direction:column;gap:6px;margin-top:4px;padding-top:12px;display:flex}.tag-editor-save small{color:var(--muted);font-size:11px;font-weight:400}@media (max-width:980px){.tag-editor-body{grid-template-columns:1fr}.tag-editor-props{position:static}.tag-tool-panel{width:280px}}@media (max-width:700px){.tag-size-presets{grid-template-columns:repeat(2,1fr)}.tag-modal-fields{grid-template-columns:1fr}.tag-tool-panel{width:auto;position:fixed;top:70px;left:10px;right:10px}.tag-photo-dual{grid-template-columns:1fr}}.tag-workbench{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);align-items:start;gap:16px;display:grid}.tag-sku-pick{flex-direction:column;gap:6px;margin:12px 0;font-size:12px;font-weight:600;display:flex}.tag-sku-pick select{border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;border-radius:7px;padding:9px 10px}.tag-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px;display:grid}.tag-fields label{color:var(--text-secondary);flex-direction:column;gap:5px;font-size:12px;font-weight:600;display:flex}.tag-fields input,.tag-fields textarea{border:1px solid var(--line);background:var(--surface);color:var(--ink);font-weight:400;font:inherit;border-radius:7px;min-width:0;padding:9px 10px}.tag-fields textarea{resize:vertical}.tag-wide{grid-column:1/-1}.tag-note{color:var(--muted);align-items:center;gap:6px;font-weight:400;display:flex;flex-direction:row!important}.tag-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.tag-preview-card{position:sticky;top:96px}.tag-preview{background:var(--surface-subtle);border:1px dashed var(--line);border-radius:10px;justify-content:center;padding:14px;display:flex}.tag-svg{width:100%;max-width:420px}.tag-svg.tag-selected{border-radius:2px;box-shadow:0 8px 24px #0001}@media (max-width:980px){.tag-workbench{grid-template-columns:1fr}.tag-preview-card{position:static}}@media (max-width:700px){.tag-search{width:100%;margin-left:0}.tag-create-btn{margin-left:auto}.tag-create-form,.tag-fields,.tag-template-list{grid-template-columns:1fr}}@media print{body *{visibility:hidden}#tag-preview,#tag-preview *{visibility:visible}#tag-preview{position:absolute;inset:0}.tag-preview-card{box-shadow:none;position:static}.tag-preview{background:#fff;border:0;padding:0}.tag-svg{max-width:90mm}}.tag-extra-bar{flex-wrap:wrap;gap:10px;margin:22px 0 18px;display:flex}.tag-replace-search{max-width:360px;margin:10px 0 6px}.tag-replace-search-row{flex-wrap:wrap;align-items:center;gap:14px;margin:10px 0 6px;display:flex}.tag-replace-search-row .tag-photo-cascade{flex:480px;max-width:none}.tag-replace-search-row .subtle-note{flex:none;min-width:0;margin:0}.tag-photo-labelpick{flex-direction:column;gap:8px;display:flex}.tag-photo-labelpick select{border:1px solid var(--line);font:inherit;background:var(--surface);color:var(--ink);border-radius:8px;width:100%;min-width:0;max-width:480px;padding:8px 10px;font-size:12px}.tag-photo-cascade{max-width:480px;position:relative}.tag-photo-cascade-trigger{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;transition:border-color .15s;display:flex}.tag-photo-cascade-trigger:hover{border-color:var(--accent-solid)}.tag-photo-cascade-trigger>span{flex-wrap:wrap;align-items:baseline;gap:8px;min-width:0;display:flex}.tag-photo-cascade-trigger strong{overflow-wrap:anywhere;color:var(--ink);font-size:13px}.tag-photo-cascade-trigger small{color:var(--text-secondary);font-size:11px}.tag-photo-cascade-ph{color:var(--text-secondary)}.tag-cascade-mask{z-index:40;position:fixed;inset:0}.tag-photo-cascade-panel{z-index:50;background:var(--surface);border:1px solid var(--line);border-radius:10px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden;box-shadow:0 10px 28px #00000024}.tag-photo-cascade-search{border-bottom:1px solid var(--line);color:var(--muted);align-items:center;gap:6px;padding:8px 10px;display:flex}.tag-photo-cascade-search:focus-within,.tag-photo-cascade-search input:focus{box-shadow:none;border-color:var(--line);outline:none}.tag-photo-cascade-search input{min-width:0;color:var(--ink);background:0 0;border:0;outline:none;flex:1;font-size:13px}.tag-photo-cascade-body{max-height:300px;padding:6px;overflow-y:auto}.tag-photo-cascade-skc{border-radius:8px}.tag-photo-cascade-skc-head{width:100%;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;font-weight:650;display:flex}.tag-photo-cascade-skc-head:hover{background:var(--surface-subtle)}.tag-photo-cascade-skc-head span{color:var(--text-secondary);margin-left:auto;font-size:11px;font-weight:400}.tag-photo-cascade-sku{width:100%;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 10px 7px 22px;font-size:12px;display:flex}.tag-photo-cascade-sku:hover{background:var(--surface-subtle)}.tag-photo-cascade-sku.disabled{opacity:.55;cursor:not-allowed}.tag-photo-cascade-sku-id{flex-direction:column;gap:1px;min-width:0;display:flex}.tag-photo-cascade-sku-id small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.tag-photo-cascade-sku em{color:var(--text-secondary);white-space:nowrap;font-size:11px;font-style:normal}.tag-photo-cascade-nolabel{color:var(--text-secondary);white-space:nowrap;border:1px solid;border-radius:4px;padding:1px 5px;font-size:10px;font-style:normal}.tag-photo-cascade-empty,.tag-photo-cascade-tip{color:var(--text-secondary);text-align:center;padding:12px;font-size:12px}.tag-photo-cascade-tip{color:var(--tone-warning);background:var(--surface-warning);border-radius:6px;margin:4px}.tag-photo-cascade-check{border:1px solid var(--line);color:#fff;vertical-align:-2px;border-radius:4px;justify-content:center;align-items:center;width:14px;height:14px;margin-right:6px;display:inline-flex}.tag-photo-cascade-sku:not(.disabled) .tag-photo-cascade-check{border-color:var(--accent-solid)}.tag-photo-cascade-sku .tag-photo-cascade-check:has(>svg){background:var(--accent-solid);border-color:var(--accent-solid)}.tag-photo-cascade-done{border-top:1px solid var(--line);padding:8px 10px}.tag-photo-cascade-done .primary-button{width:100%}.tag-extra-bar button{border:1px solid var(--line);background:var(--surface);color:var(--text-secondary);cursor:pointer;border-radius:10px;padding:9px 16px;font-size:13px;font-weight:600;transition:all .15s}.tag-extra-bar button:hover{border-color:var(--accent-solid);color:var(--accent-solid)}.tag-extra-bar button.active{background:var(--accent-solid);border-color:var(--accent-solid);color:#fff}.tag-product-search{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:12px;display:flex}.tag-product-search .tag-photo-cascade{flex:480px;max-width:none}.tag-product-search small{color:var(--text-secondary);flex:none;min-width:0;font-size:12px;line-height:1.5}.tag-product-taglist{grid-template-columns:repeat(auto-fill,minmax(340px,1fr));align-items:start;gap:14px;display:grid}.tag-product-skc{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin:0;padding:12px 14px}.tag-product-skc .tag-product-tags{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px;display:grid}.tag-product-skc h5{color:var(--ink);align-items:center;gap:8px;margin:0 0 8px;font-size:13px;display:flex}.tag-product-skc h5 span{color:var(--text-secondary);font-size:12px;font-weight:400}.tag-sku-bind-list{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.tag-sku-bind{border:1px solid var(--line);background:var(--surface);cursor:pointer;text-align:center;border-radius:10px;flex-direction:column;align-items:center;gap:4px;padding:10px;transition:border-color .15s;display:flex}.tag-sku-bind:hover{border-color:var(--accent-solid)}.tag-sku-bind img{object-fit:contain;background:#fff;border-radius:4px;width:100%;max-height:44px}.tag-sku-bind-name{color:var(--ink);word-break:break-all;font-size:12px;font-weight:700}.tag-sku-bind small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:100%;font-size:10px;overflow:hidden}.tag-sku-bind-cta{color:var(--accent-solid);align-items:center;gap:4px;margin-top:2px;font-size:11px;display:inline-flex}.tag-product-h5{color:var(--ink);align-items:center;gap:8px;margin:14px 0 8px;font-size:14px;display:flex}.tag-product-h5 span{color:var(--text-secondary);font-size:12px;font-weight:400}.tag-product-tags{grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;display:grid}.tag-product-tag{border:1px solid var(--line);background:var(--surface);border-radius:10px;align-items:stretch;display:flex;overflow:hidden}.tag-product-tag-main{cursor:pointer;text-align:left;color:inherit;background:0 0;border:none;flex-direction:column;flex:1;gap:6px;padding:10px 12px;display:flex}.tag-product-tag-main:hover{background:var(--surface-subtle)}.tag-product-tag-row{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.tag-product-tag-row strong{color:var(--ink);font-size:13px}.tag-product-tag-row small{color:var(--text-secondary);font-size:11px}.tag-product-tag-pdf{color:var(--accent-solid);align-items:center;gap:5px;font-size:12px;display:inline-flex}.tag-product-tag-del{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;align-items:center;padding:0 12px;display:flex}.tag-product-tag-del:hover{color:#e11d48}.tag-replace-panel{flex-direction:column;gap:16px;display:flex}.tag-replace-notice{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;padding:10px 12px;font-size:13px}.tag-replace-block h5{color:var(--ink);align-items:center;gap:10px;margin:0 0 10px;font-size:14px;display:flex}.tag-replace-mini{border:1px solid var(--line);color:var(--text-secondary);cursor:pointer;background:0 0;border-radius:6px;padding:3px 10px;font-size:11px}.tag-replace-mini:hover{color:var(--accent-solid);border-color:var(--accent-solid)}.tag-replace-count{color:var(--text-secondary);margin-left:auto;font-size:12px;font-weight:400}.tag-replace-groups{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px;display:grid}.tag-replace-group{border:1px solid var(--line);border-radius:10px;padding:10px 12px}.tag-replace-group>strong{color:var(--accent-solid);margin-bottom:8px;font-size:12px;display:block}.tag-replace-check{cursor:pointer;align-items:center;gap:8px;padding:5px 0;font-size:12px;display:flex}.tag-replace-check input{accent-color:#f97316}.tag-replace-check span{color:var(--ink);font-weight:500}.tag-replace-check small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tag-replace-types{gap:10px;display:flex}.tag-replace-type{border:1px solid var(--line);cursor:pointer;color:var(--text-secondary);border-radius:8px;align-items:center;gap:6px;padding:8px 14px;font-size:13px;display:inline-flex}.tag-replace-type.active{border-color:var(--accent-solid);color:var(--accent-solid);background:#fff7ed}.tag-replace-type input{accent-color:#f97316}.tag-replace-values{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.tag-replace-value{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:12px;display:flex}.tag-replace-value strong{color:var(--accent-solid);font-size:13px}.tag-replace-value input{border:1px solid var(--line);font:inherit;color:var(--ink);background:var(--surface);border-radius:7px;padding:8px 10px;font-size:12px}.tag-replace-progress{background:var(--line);border-radius:99px;height:8px;margin-top:12px;overflow:hidden}.tag-replace-progress div{background:var(--accent-solid);height:100%;transition:width .2s}.tag-replace-done{margin-top:14px}.tag-replace-ok{color:#15803d;align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.tag-replace-fails{flex-direction:column;gap:6px;margin:10px 0 0;padding:0;list-style:none;display:flex}.tag-replace-fails li{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;align-items:flex-start;gap:6px;padding:8px 10px;font-size:12px;display:flex}.tag-replace-old{color:var(--ink);cursor:pointer;align-items:center;gap:8px;margin-top:12px;font-size:13px;display:flex}.tag-replace-old input{accent-color:#f97316}.tag-replace-3day{color:#9a3412;background:#fff7ed;border:1px solid #fdba74;border-radius:8px;margin:8px 0;padding:8px 10px;font-size:12px}.tag-replace-downloads{flex-wrap:wrap;gap:8px;display:flex}.tag-replace-history{color:var(--text-secondary);font-size:11px}.tag-photo-composer{flex-direction:column;gap:14px;display:flex}.tag-photo-steps{flex-direction:column;gap:16px;display:flex}.tag-photo-step h5{color:var(--ink);margin:0 0 8px;font-size:14px}.tag-photo-upload-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tag-photo-dual{grid-template-columns:1fr 1fr;gap:12px;display:grid}.tag-photo-pick{border:1px solid var(--line);border-radius:10px;flex-direction:column;gap:8px;padding:10px;display:flex}.tag-photo-pick-title{color:var(--ink);align-items:center;gap:6px;font-size:13px;font-weight:600;display:flex}.tag-photo-pick-title small{color:var(--text-secondary);margin-left:auto;font-weight:400}.tag-photo-auto-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.tag-photo-records{flex-wrap:wrap;gap:8px;display:flex}.tag-photo-records button{border:2px solid var(--line);cursor:pointer;background:0 0;border-radius:8px;width:64px;height:64px;padding:0;overflow:hidden}.tag-photo-records button img{object-fit:cover;width:100%;height:100%;display:block}.tag-photo-records button.active{border-color:var(--accent-solid)}.tag-photo-tip{color:var(--text-secondary);margin-top:6px;font-size:11px;display:block}.tag-photo-auto-msg{color:#9a3412;margin:6px 0;font-size:12px;display:block}.tag-photo-auto-msg.ok{color:#15803d}.tag-photo-auto-msg.ok:before{content:"✓ "}.tag-photo-canvas{border:1px solid var(--line);background:#000;border-radius:10px;width:fit-content;max-width:100%;margin:8px auto 0;line-height:0;position:relative;overflow:hidden}.tag-photo-canvas img{-webkit-user-select:none;user-select:none;-webkit-user-drag:none;width:auto;max-width:100%;height:auto;max-height:66vh;display:block}.tag-photo-svg{touch-action:none;width:100%;height:100%;position:absolute;inset:0}.tag-photo-result{flex-direction:column;align-items:flex-start;gap:8px;margin-top:10px;display:flex}.tag-photo-results{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));align-items:start;gap:14px;margin-top:10px;display:grid}.tag-photo-results .tag-photo-result{border:1px solid var(--line);background:var(--surface);border-radius:12px;margin-top:0;padding:10px}.tag-photo-result-tag{flex-direction:column;gap:2px;font-size:12px;display:flex}.tag-photo-result-tag small{color:var(--text-secondary);font-size:11px}.tag-photo-cascade-sku.checked{background:var(--surface-subtle);border-color:var(--accent-solid)}.tag-photo-result img{border:1px solid var(--line);cursor:zoom-in;object-fit:contain;border-radius:10px;width:auto;max-width:100%;height:auto;max-height:220px}.tag-photo-result.zoomed img{cursor:zoom-out;width:100%;max-height:min(72vh,900px)}.tag-photo-tag{flex-direction:column;gap:2px;display:flex}.tag-photo-tag strong{color:var(--ink);font-size:13px}.tag-photo-tag small{color:var(--text-secondary);font-size:11px}.tag-photo-step select{border:1px solid var(--line);width:100%;font:inherit;color:var(--ink);background:var(--surface);border-radius:8px;padding:9px 10px;font-size:13px}.tag-barcode-modal{text-align:center;width:min(360px,100%)}.tag-modal-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.tag-modal-head h3{margin:0}.tag-modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px;display:flex}.tag-modal-close:hover{background:var(--line);color:var(--ink)}.tag-barcode-preview{flex-direction:column;align-items:center;gap:8px;display:flex}.tag-barcode-preview img{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;max-width:280px}.tag-barcode-preview strong{color:var(--ink);word-break:break-all;font-size:15px}.tag-barcode-preview small{color:var(--text-secondary);font-size:11px}.tag-barcode-note{color:#9a3412!important}.tag-modal-text{color:var(--ink);font-size:13px;line-height:1.6}.tag-photo-modal{width:min(760px,96vw)}.tag-photo-svg polygon.tag-photo-quad{fill:#f973161a;stroke:var(--accent-solid);stroke-width:4px;stroke-dasharray:12 8}.tag-photo-svg circle.tag-photo-knob{fill:#fff;stroke:var(--accent-solid);stroke-width:5px}.tag-photo-svg circle.tag-photo-knob-core{fill:var(--accent-solid)}.tag-pdf-ok{color:#15803d;font-size:11px;line-height:1.5}.tag-sku-search{width:100%;margin:2px 0 8px}.tag-sku-picker-modal{flex-direction:column;width:min(560px,100%);max-height:80vh;display:flex}.tag-sku-picker-modal .tag-modal-sub{margin:2px 0 8px}.tag-sku-pick-list{flex-direction:column;gap:6px;min-height:0;display:flex;overflow:auto}.tag-sku-pick{border:1px solid var(--line);background:var(--surface-subtle);cursor:pointer;text-align:left;border-radius:9px;align-items:center;gap:10px;padding:8px 10px;display:flex}.tag-sku-pick:hover{border-color:var(--accent-solid);background:var(--surface)}.tag-sku-pick img{border:1px solid var(--line);background:#fff;border-radius:5px;height:36px;padding:2px 6px}.tag-sku-pick span{flex-direction:column;gap:2px;min-width:0;display:flex}.tag-sku-pick strong{color:var(--ink);font-size:12.5px}.tag-sku-pick small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;overflow:hidden}.tag-sku-pick-more{color:var(--muted);margin-top:6px;font-size:11px}.tag-photo-result-actions{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.tag-photo-result-actions .secondary-button,.tag-photo-result-actions .primary-button{border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:7px 10px;font-size:12px}.tag-photo-result-actions .primary-button{background:var(--accent-solid);color:#fff;border-color:var(--accent-solid)}.tag-photo-result-actions .secondary-button{background:var(--surface);color:var(--ink)}.sku-photo-view{flex-direction:column;align-items:center;gap:10px;padding:6px 0;display:flex}.sku-photo-view img{border:1px solid var(--line);border-radius:10px;max-width:100%;max-height:56vh}.sku-photo-actions{flex-wrap:wrap;justify-content:center;gap:8px;display:flex}.sku-photo-actions .secondary-button,.sku-photo-actions .primary-button{border:1px solid var(--line);cursor:pointer;border-radius:7px;padding:7px 12px;font-size:12px}.sku-photo-actions .primary-button{background:var(--accent-solid);color:#fff;border-color:var(--accent-solid)}.sku-photo-actions .secondary-button{background:var(--surface);color:var(--ink)}.tag-photo-rec-item{position:relative}.tag-photo-rec-item:hover .tag-photo-rec-del{opacity:1}.tag-photo-records .tag-photo-rec-del{color:#fff;cursor:pointer;opacity:.85;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a8c;border:none;border-radius:50%;justify-content:center;align-items:center;width:20px;height:20px;padding:0;transition:opacity .15s,background .15s;display:flex;position:absolute;top:4px;right:4px;overflow:visible}.tag-photo-records .tag-photo-rec-del:hover{opacity:1;background:#dc2626e0}.tag-ctx-bar .tag-tool-panel{width:150px;max-width:calc(100vw - 40px)}
