.jt-step-no{width:28px;height:28px;border-radius:50%;background:var(--primary);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:14px;flex-shrink:0}
.jt-drop{display:block;border:2px dashed var(--primary);border-radius:12px;background:var(--primary-tint);padding:24px 16px;text-align:center;cursor:pointer;transition:.15s}
.jt-drop:hover,.jt-drop.drag{background:#fff;border-color:var(--accent)}
.jt-file-row{display:flex;align-items:center;gap:8px;border:1px solid var(--border);border-radius:8px;padding:6px 10px;background:#fff;margin-bottom:6px;font-size:14px}
.jt-file-row .jt-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jt-file-row .btn{padding:.1rem .45rem;line-height:1.3}
.jt-result-row{display:flex;gap:12px;align-items:center;border:1px solid var(--border);border-radius:8px;padding:8px;background:#fff;margin-bottom:8px}
.jt-result-row img{width:64px;height:64px;object-fit:cover;border:1px solid var(--border);border-radius:6px;flex-shrink:0}
.jt-result-row .jt-meta{flex:1;min-width:0;font-size:14px}
.jt-big{font-size:2.1rem;font-weight:700;color:var(--primary);line-height:1.15}
.jt-box-ok{border:1px solid #badbcc;background:#d1e7dd;color:#0f5132;border-radius:10px;padding:12px 14px}
.jt-box-bad{border:1px solid #f5c2c7;background:#f8d7da;color:#842029;border-radius:10px;padding:12px 14px}
.jt-box-info{border:1px solid var(--border);background:#fff;border-radius:10px;padding:12px 14px}
.jt-checker{background-image:linear-gradient(45deg,#e5e5e5 25%,transparent 25%),linear-gradient(-45deg,#e5e5e5 25%,transparent 25%),linear-gradient(45deg,transparent 75%,#e5e5e5 75%),linear-gradient(-45deg,transparent 75%,#e5e5e5 75%);background-size:16px 16px;background-position:0 0,0 8px,8px -8px,-8px 0;background-color:#fff}
.jt-tip i{color:var(--primary)}
.jt-chip{cursor:pointer}
