:root{
  --p2e-primary:#7c3aed; /* violet-600 */
  --p2e-primary-600:#6d28d9;
  --p2e-primary-700:#5b21b6;
  --p2e-dark:#111827;     /* gray-900 */
  --p2e-muted:#6b7280;    /* gray-500 */
  --p2e-bg:#ffffff;
  --p2e-border:#e5e7eb;
  --p2e-soft:#f9fafb;
}

.p2e-wrap{max-width:920px;margin:10px auto;border:1px dashed var(--p2e-border);padding:16px;border-radius:14px;background:var(--p2e-bg)}
.p2e-actions{display:flex;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.p2e-btn{border:none;border-radius:12px;padding:10px 14px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:0 1px 0 rgba(0,0,0,0.04);transition:.2s}
.p2e-btn-primary{background:var(--p2e-primary);color:#fff}
.p2e-btn-primary:hover{background:var(--p2e-primary-600)}
.p2e-btn-primary:active{background:var(--p2e-primary-700)}
.p2e-btn-dark{background:var(--p2e-dark);color:#fff}
.p2e-btn-dark:hover{filter:brightness(1.1)}
.p2e-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}
.p2e-drop{border:2px dashed var(--p2e-border);border-radius:14px;min-height:110px;display:flex;align-items:center;justify-content:center;background:var(--p2e-soft);color:var(--p2e-muted);cursor:pointer;transition:.2s}
.p2e-drop:hover,.p2e-drop.hover{background:#f3f0ff;border-color:#d6bcfa;color:#4c1d95}
.p2e-drop:focus{outline:3px solid #d8b4fe;outline-offset:2px}
.p2e-drop-inner{text-align:center;padding:14px}
.p2e-drop-text{font-size:15px;margin-top:4px}
.p2e-drop-hint{font-size:12px;color:#9ca3af;margin-top:2px}

.p2e-queue{list-style:none;margin:10px 0 0;padding:0}
.p2e-item{display:grid;grid-template-columns:auto 1fr 1fr auto;align-items:center;gap:10px;border-bottom:1px solid var(--p2e-border);padding:8px 2px;font-size:14px}
.p2e-item .name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.p2e-item .meta{color:#6b7280}
.right{display:flex;gap:8px}
.p2e-mini-btn{border:none;border-radius:10px;padding:8px 12px;font-weight:700;background:#10b981;color:#fff;cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:.2s}
.p2e-mini-btn:hover{filter:brightness(1.05)}
.p2e-mini-btn[disabled]{opacity:.6;cursor:not-allowed}
.p2e-mini-btn.outline{background:#fff;color:#374151;border:1px solid var(--p2e-border)}
.p2e-item.processing .meta{color:#2563eb}
.p2e-item.xong .meta{color:#059669}
.p2e-item.lỗi .meta{color:#dc2626}
.p2e-msg{margin-top:8px;color:#4b5563}
.p2e-msg.err{color:#b00020}

